我在我的头在这一点-但我现在看起来像这样:
<?php
$request_url = "http://aethereverywhere.tumblr.com/api/read?type=photo&tagged=ae&start=0&num=1";
$xml = simplexml_load_file($request_url);
$img = $xml->posts->post->{'photo-url'};
?>
如果增加&num到3,让我们说-它将拉出三个文件,simplexml_load_file将解析它们-并将它们保存到$img -但我想要的是只有一个URL保存到$img,随机选择。
Thanks for the help
新代码:从0到118(共119)中随机选择一张图像,然后输出,选择分辨率最高的。
<?php
$request_url = "http://aethereverywhere.tumblr.com/api/read?type=photo&start=".rand(0,118);
$xml = simplexml_load_file($request_url);
$img = $xml->posts->post->{'photo-url'};
$img=(array)$img;
echo '<img src="'.$img[0].'">';
?>
在0和照片总数-1之间添加一个随机数。也就是说,把它随机放到一行。
$img = $xml->posts->post->{'photo-url'}[$random] // if that's the right syntax.
或者在遍历标签时,随机检查偶数/奇数。
$img = (empty($img) || !$img) ? (rand(10)%2==0) ? $PHOTO_URL : FALSE : $img;
这样做:
$xml = simplexml_load_string($x); // assuming XML in $x, or use simplexml_load_file
$urls = $xml->xpath("//photo-url"); // get all <photo-url> nodes
echo $urls[rand(0,count($urls)-1)]; // echo a random url
查看它的工作情况:http://codepad.viper-7.com/WDq0ha