Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP读取源代码_Php_Html_Http - Fatal编程技术网

使用PHP读取源代码

使用PHP读取源代码,php,html,http,Php,Html,Http,是否可以从其他站点读取源代码? 源代码为HTML,当您右键单击站点,然后单击源代码时 我试过: <? $f = fopen ("http://www.example.com/f", r); echo $f; ?> 它不起作用。我该怎么做?试试看 <?php $f = file_get_contents("http://www.site.com/f"); echo $f; ?> 您可以使用curl获取远程HTML,在打印时,我会确保对其进行清理,以便查看浏览器不会试图呈

是否可以从其他站点读取源代码? 源代码为HTML,当您右键单击站点,然后单击源代码时

我试过:

<? $f = fopen ("http://www.example.com/f", r);
echo $f;
?>
它不起作用。我该怎么做?

试试看

<?php
$f = file_get_contents("http://www.site.com/f");
echo $f;
?>

您可以使用curl获取远程HTML,在打印时,我会确保对其进行清理,以便查看浏览器不会试图呈现或执行脚本。毕竟,您不能保证控制远程HTML的内容——这可能是恶意的


或者,您可以使用shell命令将其抓取到一个临时文件,并在中读取该文件。Wget或curl二进制文件本身可以被催促为您这样做。wget-O/tmp/sometempfile,但请注意,这是危险的,可能会引发系统管理员监视系统的警报。调用wget等人并将其转储到/tmp/中通常是有人闯入PHP应用程序时要做的第一件事。

这取决于您是否符合源代码的条件。要从站点获取输出,可以使用curl:


如果您谈论的是页面的服务器端源,那么不,您无法做到这一点我希望这不是您所谈论的:

用于阅读远程页面的内容源,请访问其他网站:

<?php

$linktopage = "http://www.google.com/index.html";
$sourcecode = file_get_contents( $linktopage );
echo $sourcecode;

?>

他用fopen下载了一个网站,我想你的答案只会让他感到困惑。将echo$f更改为echo htmlspecialchars$f,你就可以查看实际的来源了。当然,所有这些都假设在ini中启用了allow_url_fopen。Nick Weaver和Kevin Peno谢谢!这就是我要找的!我很感激!我对你感激不尽。谢谢。你发布的代码是如何工作的?@Kevin:因为f是对已打开文件的引用,不要忘记使用htmlspecialchars查看源代码,而不是呈现源代码。Demian Brecht@我收到了对未定义函数curl_init的错误调用。这篇文章和第一篇文章有什么不同?非常感谢您的帮助:D@muazam:您需要安装curl mod。在你使用的任何平台上快速搜索一下安装curl。这与Nick的答案有什么不同?考虑到最小的时差,这不是一篇双关文章,答案是正确的:PNick的答案是3分。在回答之前查看已回答的问题以避免重复,这会很好。谢谢,它起作用了,但我认为您忘记了htmlspecialchars函数:P
<?php

$linktopage = "http://www.google.com/index.html";
$sourcecode = file_get_contents( $linktopage );
echo $sourcecode;

?>