I am trying to retrieve data from the Flickr website and after running the php code it gives me two errors.
1) failed to load external entity
2) Invalid argument supplied for foreach()
Find below the php code:
<?php
$url = file_get_contents("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ff8c4c178209865b1ac5ee3f2d492de0&lat=51.5424&lon=-0.1734&radius=2&page=2&per_page=200&text=houses");
$xml = simplexml_load_file($url);
foreach ($xml->photo as $entry){
echo $entry->id;
echo $entry->owner;
echo $entry->title;
}
?>
See below an excerpt of the xml structure:
<rsp stat="ok">
<photos page="2" pages="6" perpage="200" total="1199">
<photo id="476179009" owner="55662771@N00" secret="cafd39b094" server="219" farm="1" title="Seeing the Sun Going Down" ispublic="1" isfriend="0" isfamily="0"/>
<photo id="5858562848" owner="40837632@N05" secret="19c083483f" server="5154" farm="6" title="Lords - June 2011 - E v SL - Rangana Herath Delivers" ispublic="1" isfriend="0" isfamily="0"/>
</photos>
</rsp>
simplexml_load_fileexpects an filename or URL, butfile_get_contentsalready fetches the data from the given URL. So either pass$urltosimplexml_load_fileor usesimplexml_load_stringEdit: Also your loop should look like this, refer to the simplexml documentation.