2016-05-08 11 views
3

私はPHPスクリプトに書き込んだwgetコマンドを統合しようとしています。このコマンドは、Webサイト上のすべてのhtml/phpファイルを再帰的にダウンロードします(これは、file_get_contents()で見つからない機能です)。私はターミナルウィンドウでwgetコマンドをテストしましたが、exec()またはshell_exec()を使って実行すると何も起こりません。私はエラーや警告を受け取りません。ここでexec()またはshell_exec()から呼び出されたときにwgetが機能しない

は、問題のコマンドで、

wget --recursive -m --domains oooff.com --page-requisites --html-extension --convert-links -R gif,jpg,pdf http://www.oooff.com/ 

I)は、(幹部から簡単なのwgetコマンド(ないなど、多くのパラメータ)を試みたが、もしくはshell_exec()、彼らはまた、動作しませんしています。

wgetがオプションでない場合は、他の方法でWebサイトをダウンロードしても構いません。

私が今している

私のコード、そして、

exec("wget google.com", $array); 

それは

-q to remove it s information output 
-O - to output the request response on stdout 

php -r 'exec("wget -q -O - google.com", $array);var_dump($array);' 
+0

あなたのPHPは何ですか? –

+0

これはおそらくこれに役立ちます:http://stackoverflow.com/questions/13980404/enable-system-and-exec-functions-on-hosting – argon

+0

@CharlSteynberg機能が有効になっていて、問題が持続する – Jfonts

答えて

1

私はへのパスを指定する必要がありました適切なオプションを使用して空

+0

$ return_varを使ってそれを調べます。 0でなければ、何かが間違っていた。 –

0

のinvoke wgetのある配列を印刷するときwget。新しいコマンド:

exec("/usr/local/bin/wget google.com", $array); 
0

wget私たちの場合は、現在のディレクトリにwget'edファイルを保存するための十分な権限がありませんでした。ソリューション:

$dir = __DIR__.'/777folder/'; 
exec("/usr/bin/wget -P ".$dir." --other-options"); 

-P, --directory-prefix=PREFIX save files to PREFIX/... 

PS。我々はまた、whereis wgetと発見された/usr/binを追加しましたが、私たちのシステムでそれは問題なく動作します

関連する問題