2

我正在尝试获取特定网站的内容,将内容写入 .txt 文件并在我的浏览器中输出未格式化的结果。我实际上可以将网站内容写入我的文本文件,但它不会在我的浏览器中回显。我尝试在原始句柄中使用“w+”和“r+”,但这并没有成功。我在这里做错了什么?

$file = file_get_contents('http://www.example.com');
$handle = fopen("text.txt", "w");
fwrite($handle, $file);
fclose($handle);

$myfile = "text.txt";
$handle = fopen($myfile, "r");
$read = htmlentities(fread($handle, filesize($myfile)));
echo $read;
4

3 回答 3

1

您的 $file 初始语句包含您刚刚编写的文件中的所有格式化代码,因此您可以使用它。

 echo htmlentities($file);

但是,已经有几个人问过这个问题了。也许 OP 想要验证文件是否正确写入?

您的打开代码看起来不错,您是否排除了权限问题?在打开它之前使用 is_readable($myFile) 检查它。您还可以对您写入的文件夹执行 is_writable 操作,以确保您实际写入文件。

于 2012-12-17T12:05:07.077 回答
1

您不需要多次打开文件..只需尝试

$file = "log.txt";
$url = 'http://www.stackoverflow.com' ;

$handle = fopen("log.txt", "w+");
fwrite($handle, file_get_contents($url));
rewind($handle);

$read = htmlentities(fread($handle, filesize($file)));
echo $read;
于 2012-12-17T12:15:23.407 回答
0

你可以var_dump() $handle 看看它是否可以打开。如果是,var_dump($read)..

要读取文件,您还可以使用 file_get_contents()。

于 2012-12-17T11:44:56.000 回答