krijg geen output te zien
Ik heb een aantal regels met code waarmee ik probeer het aantal facebook shares op een website op te halen en deze te tonen op het scherm maar het ziet ernaar uit dat er geen output wordt geleverd door een fout. Weet iemand wat ik fout doe?
Code (php)
1
2
3
4
5
2
3
4
5
<?
$url = 'https://www.google.com';
$data = json_decode(file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=".rawurlencode()))[0];
echo $data->share_count; // Deze regel geeft de output
?>
$url = 'https://www.google.com';
$data = json_decode(file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=".rawurlencode()))[0];
echo $data->share_count; // Deze regel geeft de output
?>
Waar geef jij je url op?
$url = 'https://www.google.com';
Waar google.com staat vul ik dan mijn eigen url in
Code (php)
1
2
3
4
5
2
3
4
5
<?
$url = 'http://www.nu.nl';
$data = json_decode(file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=$url".rawurlencode()))[0];
echo $data->share_count; // Deze regel geeft de output
?>
$url = 'http://www.nu.nl';
$data = json_decode(file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=$url".rawurlencode()))[0];
echo $data->share_count; // Deze regel geeft de output
?>
Als ik de volgende url invoer https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=www.nu.nl dan krijg ik wel onderstaande respons terug
[{"url":"www.nu.nl","normalized_url":"http:\/\/www.nu.nl\/","share_count":28910,"like_count":22826,"comment_count":22025,"total_count":73761,"click_count":2818,"comments_fbid":"382703519844","commentsbox_count":6}]
En verder
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$url = 'http://www.nu.nl';
$data = json_decode(file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=".rawurlencode($url)));
echo $data->share_count; // Deze regel geeft de output
?>
$url = 'http://www.nu.nl';
$data = json_decode(file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=".rawurlencode($url)));
echo $data->share_count; // Deze regel geeft de output
?>
Gewijzigd op 28/06/2016 16:04:37 door - Ariën -
Mar rot op 28/06/2016 15:26:14:
Bedankt voor je reactie Adoptive Solution. ik heb de code aangepaste maar krijg nog steeds geen output terug op scherm. Onderstaand mijn aangepaste code
... code ...
Als ik de volgende url invoer https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=www.nu.nl dan krijg ik wel onderstaande respons terug
... code ...
Als ik de volgende url invoer https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=www.nu.nl dan krijg ik wel onderstaande respons terug
Komt omdat je in je code nog steeds naast de pot piest :). Zet $url eens tussen rawurlencode(<hiero dus>).
Zie dus mijn code.
Code (php)
1
2
3
4
5
2
3
4
5
<?
$url = 'https://www.nu.nl';
$data = json_decode(file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=$url".rawurlencode($url)))[0];
echo $data->share_count; // Deze regel geeft de output
?>
$url = 'https://www.nu.nl';
$data = json_decode(file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=$url".rawurlencode($url)))[0];
echo $data->share_count; // Deze regel geeft de output
?>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$url = 'http://www.nu.nl';
$fbdata = file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=".rawurlencode($url));
$data = json_decode($fbdata)[0];
echo $data->share_count; // Deze regel geeft de output
?>
$url = 'http://www.nu.nl';
$fbdata = file_get_contents("https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=".rawurlencode($url));
$data = json_decode($fbdata)[0];
echo $data->share_count; // Deze regel geeft de output
?>
Gewijzigd op 28/06/2016 16:25:22 door - Ariën -
Sorry Ariën, werkt ook niet
PHP Version 5.4.25
Test je dit bij een webhosting uit, of lokaal?
Zet dit eens bovenaan:
Mogelijk zie je nu meer foutmeldingen?
Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /var/www/vhosts/www.domein.nl/HTML/test/test2.php on line 8
Warning: file_get_contents(https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=http%3A%2F%2Fwww.nu.nl): failed to open stream: no suitable wrapper could be found in /var/www/vhosts/www.domein.nl/HTML/test/test2.php on line 8
Notice: Trying to get property of non-object in /var/www/vhosts/www.domein.nl/HTML/test/test2.php on line 10
Toevoeging op 28/06/2016 17:00:05:
wat betreft openssl
OpenSSL support enabled
OpenSSL Library Version OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
OpenSSL Header Version OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
Gebruik anders http i.p.v. https.
Wat heeft http vs https te maken met het feit dat allow_url_fopen uit staat? Ongeacht wat je nu met file_get_contents probeert te doen zal mislukken. Als je geen invloed op de instellingen kunt uitoefenen kun je altijd nog als cURL kijken.
Of een ticket bij de hosting indienen, want waarom zou een hosting een standaard functie blokkeren? Juist.... schijnveiligheid. Dat is al een reden dat ik 8 jaar geleden al eens ben overgestapt naar een betere hostingpartij.