如何从php运行wget以便输出显示在浏览器窗口中?
答案 0 :(得分:31)
您只需使用file_get_contents即可。它更容易。
echo file_get_contents('http://www.google.com');
如果你必须使用wget,你可以尝试类似:
$url = 'http://www.google.com';
$outputfile = "dl.html";
$cmd = "wget -q \"$url\" -O $outputfile";
exec($cmd);
echo file_get_contents($outputfile);
答案 1 :(得分:11)
exec
函数可用于运行wget。我从来没有使用过wget来进行简单的文件下载,但你会使用你给wget的任何参数来输出文件内容。 exec的第二个参数/参数将是一个数组,并且该数组将与wget的输出一行一行地填充。
所以你会有类似的东西:
<?php
exec('wget http://google.com/index.html -whateverargumentisusedforoutput', $array);
echo implode('<br />', $array);
?>
exec的手册页可能更好地解释了这一点: http://php.net/manual/en/function.exec.php
答案 2 :(得分:2)
不要在大多数服务器上尝试,不应该阻止他们运行像wget这样的命令! file_get_contents刚刚取代了我的客户坚持使用这个和快速
的糟糕的iframe<?php
$content = file_get_contents('http://www.mysite.com');
$content = preg_replace("/Comic Sans MS/i", "Arial, Verdana ", $content);
$content = preg_replace("/<img[^>]+\>/i", " ", $content);
$content = preg_replace("/<iframe[^>]+\>/i", " ", $content);
$echo $content;
?>
稍后改变字体,图像和删除图像和iframe等....我的网站看起来比以往更好! (是的,我知道我的代码并不精彩,但对我来说这是一个很大的改进,并消除了烦人的格式!)
答案 3 :(得分:1)
它有效
<?php
system("wget -N -O - 'http://google.com")
?>