此时我已经过头了 - 但我目前看起来像这样:
<?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'};
?>
如果将&amp; num增加到3,可以说 - 它会拉三个文件,而simplexml_load_file会将它们解析出来 - 并将它们保存到$ img - 但我想要的只有一个URL保存到$ img,随机选择。
感谢您的帮助
答案 0 :(得分:2)
新代码:选择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].'">';
?>
答案 1 :(得分: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;
答案 2 :(得分:0)
这样做:
$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