exe内部的wget不生成任何输出或保存网页

时间:2012-03-23 01:22:18

标签: php exec wget

我正在开发一个小型的个人项目,可以使用wget将整个网页保存到我的本地磁盘上。

基本上,当我传递一个URL时,它应该保存网页,修复URL和图像:

exec('cd application/collection; wget -k -p --user-agent=Firefox/11.0 google.com, $output', $return);

print_r($output); // Array( )
print_r($return); // 0

奇怪的是我没有输出,没有任何内容保存在目录中(它是正确的目录,我可以确认)。我的localhost正在运行用户_www,如何通过PHP的exec函数使用wget保存网页?

我无法使用file_get_contents,因为它无法修复网址和图片。

2 个答案:

答案 0 :(得分:0)

试试这个:

exec('cd application / collection; / usr / bin / wget -k -p --user-agent =“Firefox / 11.0”“http://www.google.com”',$ output,$ return );

答案 1 :(得分:0)

你可能已经解决了这个问题但谷歌会将我重定向到这个Q,所以,对于其他任何人:

您需要将stderr重定向到stdout:2>& 1

exec('cd application/collection; wget -k -p --user-agent=Firefox/11.0
google.com 2>&1', $output, $return);
print_r($output); 
print_r($return);