有没有从其他站点读取源代码? 源代码为HTML,当你点击一个网站,然后“源代码”。用PHP阅读源代码
我已经试过:
<? $f = fopen ("http://www.example.com/f", r);
echo $f;
?>
它没有工作。我该怎么做呢?
有没有从其他站点读取源代码? 源代码为HTML,当你点击一个网站,然后“源代码”。用PHP阅读源代码
我已经试过:
<? $f = fopen ("http://www.example.com/f", r);
echo $f;
?>
它没有工作。我该怎么做呢?
尝试
<?php
$f = file_get_contents("http://www.site.com/f");
echo $f;
?>
将'echo $ f'更改为'echo htmlspecialchars($ f)',您将查看实际的源代码。当然,这一切都假设在ini中启用了'allow_url_fopen'。 – 2011-04-22 16:15:24
Nick Weaver和Kevin Peno谢谢!这就是我一直在寻找的!我很感激!我不能够感谢你。谢谢。 – Muazam 2011-04-22 18:35:52
你可以使用curl抢到遥控器HTML,打印时我一定要清理它,以便观看浏览器不尝试呈现或执行脚本。 (毕竟,你不能保证控制远程HTML的内容 - 它可能是恶意的) -
或者,你可以使用shell命令将其抓到一个临时文件,然后读入该文件。卷曲二进制本身可以被刺激为你做这个。 (wget -O/tmp/sometempfile http://www.site.com/f)但注意这是危险的,并且可能会引起系统管理员观看系统的“警报”。调用wget et al和在/ tmp /中转储通常是有人在闯入PHP应用程序时尝试执行的第一件事。
他正在用fopen下载一个网站,我想你的答案只会让他迷惑。 – HyderA 2011-04-22 16:11:06
这一切都取决于你有什么资格作为“来源”。要抓住从一个站点的输出,你可以使用curl
:
$ch = curl_init('http://www.google.ca');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
echo $data;
如果你在谈论的页面的服务器端源,则没有,有没有办法,你可以做到这一点(我希望这没有你在说什么:))
不要忘记使用'htmlspecialchars'来查看源代码而不是渲染它。 – 2011-04-22 16:16:34
@Kevin:+1 - 绝对:) – 2011-04-22 16:19:44
Demian Brecht @我得到这个错误“调用未定义的函数curl_init()”。这和第一张贴有什么区别?非常感谢:D – Muazam 2011-04-22 18:40:20
用于读取远程网页内容(源),在其他一些网站:
<?php
$linktopage = "http://www.google.com/index.html";
$sourcecode = file_get_contents($linktopage);
echo $sourcecode;
?>
怎么没有你贴的代码工作? – 2011-04-22 16:15:49
@Kevin:因为'f'是对已打开文件的引用 – HyderA 2011-04-22 16:36:47
@ gAMBOOKa,gah,duh。 – 2011-04-22 16:41:57