使用PHP shell_exec()调用sh脚本时未设置变量
我目前有一个sh脚本:使用PHP shell_exec()调用sh脚本时未设置变量,php,sh,shell-exec,Php,Sh,Shell Exec,我目前有一个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
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");
当我在命令行上运行命令ex:./get_images temp/0.75456300 1297381201 0 moose 1500时,没有出现任何问题。但是,当通过PHP脚本运行时,永远不会设置变量$imageUrls。我可以回显我设置imageUrls的命令,并在PHP创建的页面上显示URL,但据我所知,变量本身是空的
我能得到的任何帮助都会很好!请告诉我是否应该添加其他内容,或者如果我的问题具有误导性,这是我的第一篇帖子:D!谢谢 尝试在imageList变量赋值的输出周围添加dbl引号
imageUrls="`curl -s "http://www.flickr.com/services/rest/....."
我希望这有帮助
另外,作为一个新用户,如果您得到的答案有助于您记住将其标记为已接受,或给它一个+或-作为一个有用的答案任何原因,整个事情都不是一个php脚本?是的,为了实用,我想这将是最好的选择,但是我刚上了一堂Unix/C/CGI的课,我想我会练习我刚学的一些东西。我已经有了PHP的基本格式,所以我只是用sh/c制作了所有其他部分。