0

現在、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 をループして、それぞれを指定したディレクトリに保存します。

これを呼び出す 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! ありがとう!

4

1 に答える 1

0

imageList の変数割り当ての出力の周りに dbl-quotes を追加してみてください

imageUrls="`curl -s "http://www.flickr.com/services/rest/....."

これが役立つことを願っています。

追伸、あなたは新しいユーザーのようです。役立つ回答が得られた場合は、承認済みとしてマークすることを忘れないでください。または、有用な回答として + (または -) を付けてください。

于 2011-03-07T15:07:25.333 に答える