Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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_File Get Contents_Fwrite_Fread - Fatal编程技术网

使用PHP写入文件,然后从中读取

使用PHP写入文件,然后从中读取,php,file-get-contents,fwrite,fread,Php,File Get Contents,Fwrite,Fread,我试图获取特定网站的内容,将内容写入.txt文件,并在浏览器中输出未格式化的结果。我能够将网站内容写入我的文本文件,但它不会在我的浏览器中回音。我试着在我原来的句柄中使用“w+”和“r+”,但这并没有奏效。我做错了什么 $file = file_get_contents('http://www.example.com'); $handle = fopen("text.txt", "w"); fwrite($handle, $file); fclose($handle); $myfile = "

我试图获取特定网站的内容,将内容写入.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;
您可以对$handle进行var_dump()操作,看看是否可以打开它。如果是,var_dump($read)


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

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

 echo htmlentities($file);
然而,已经有几个人提出了这个问题。。也许OP想要验证文件是否正确写入


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

您不需要多次打开文件。。试试看

$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;

你的代码在我的机器上运行良好。看不出代码有任何错误。第一个代码块后是否正确填充了test.txt?如果不是,可能是权限问题。是否有充分的理由不简单地执行
echo htmlentities(file\u get\u contents('http://www.example.com'));?原因很简单,我正在尝试学习这项技术,所以我采用(稍微)困难的(呃)方式:)文件编写正确,我刚刚偶然发现了一些有趣的东西。Example.com实际上可以工作,但这不是我在实际代码中试图获取的URL。似乎该代码在某些站点上运行良好,但在其他站点上运行不好。例如,google.com不起作用。有什么想法吗?有些网站可以阻止诸如文件内容之类的请求。Google.com会这样做,因为它会很快将你归类为垃圾邮件发送者——我经常遇到这种情况。您可以通过标识为浏览器来绕过此阻塞。查找旋度,这将允许您这样做。正如你上面所说的,你的主要目标是学习,这将非常有助于实现最终目标。谢谢!这简化了事情。