我目前有一个 sh 脚本:
location=$1
imageNumber=$2
keyword=$3
page=$4
imagesInPage=$5
imagesToGet=$6
imageUrls=`curl -s "http://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=[MYAPIKEY]&text=$keyword&per_page=$imagesInPage&media=photos&license=1,2,4,5,7&page=$page" | sed '1,3d' | sed 'N;$!P;$!D;$d' | ./xml_to_urls 2> /dev/nul`
currentImage=0
for url in $imageUrls
do
if [ $currentImage -ne $imagesToGet ]
then
curl -s "$url" > "$location/$imageNumber.jpg"
else
break
fi
currentImage=`expr $currentImage + 1`
imageNumber=`expr $imageNumber + 1`
done
...它基本上向 Flickr API 请求与参数对应的图像列表。然后,我遍历图像 URL,将每个 URL 保存在指定目录中。
调用它的 PHP 脚本很长,但这是调用它的行:
shell_exec("./get_images \"" . $dir . "\" " . $currentImageNumber . " \"" . $keyword . "\" " . $page . " 500 500");
当我在命令行上运行命令(例如:./get_images "temp/0.75456300 1297381201" 0 "moose" 1 500 500)时,没有出现任何问题。但是,当由 PHP 脚本运行时,变量 $imageUrls 永远不会被设置。我可以回显我设置 imageUrls 的命令,并在 PHP 创建的页面上显示 URL,但据我所知,其自身的变量是空白的。
我能得到的任何帮助都会很棒!请告诉我是否应该添加任何其他内容,或者我的问题是否具有误导性,这是我的第一篇文章:D!谢谢!