【发布时间】:2016-02-20 06:47:30
【问题描述】:
我正在努力学习如何创建网络机器人,并且正在阅读 Michael Schrenk 的一本名为 Webbots, Spiders, and Screen Scrapers 的书。在书中,他给出了下载网页的基本机器人的示例代码。我已经完全按照书中的内容复制了代码(无 cmets):
<?
$target = "http://www.schrenk.com/nostarch/webbots/hello_world.html";
$downloaded_page_array = file($target);
for($xx=0; $xx<count($downloaded_page_array); $xx++)
echo $downloaded_page_array[$xx];
?>
我将此代码放在一个 php 文件中并上传到我的网站。但是,当我在浏览器中导航到它时,什么也没有发生。它只是加载一个空白页面。无内容。
之前我尝试了作者提供的另一个sn-p,同样,这个是从书中完全复制的,只有这个我并没有真正得到一个空白页,页面只是试图加载直到它最终计时出去。从未得到正确的内容:
$target = "http://www.schrenk.com/nostarch/webbots/hello_world.html";
$file_handle = fopen($target, "r");
while (!feof($file_handle))
echo fgets($file_handle, 4096);
fclose($file_handle);
我检查了 URL 以确保文件存在并且确实存在。我不知道为什么这行不通。我已经阅读了如何使用 file();和 fopen(); PHP 中的函数,但据我所知,它们都被正确使用。我在这里做错了什么?
【问题讨论】:
-
error_reporting(E_ALL); ini_set('display_errors', '1'); -
另外,使用
<?php- 通常<?(php.ini 中的'short_open_tag')被禁用。 -
请参阅 AbraCadaver 建议。尝试用
<?php替换<?:<?仅在显式配置时有效。您的代码有效。如果错误仍然存在,您的 file_get_contents 可能由于某些原因而失败,但按照 AbraCadaver 的建议,您会看到错误。 -
我已经添加了 AbraCadaver 提供的代码行,以及从
-
你正确调用了页面?您可以在命令行模式下尝试吗?您确定上面的代码是您文件中的所有代码吗?可能剩余代码有错别字,所以产生编译错误:编译错误只能在apache错误日志或命令行运行脚本中看到。