使用PHP写入文件,然后从中读取
我试图获取特定网站的内容,将内容写入.txt文件,并在浏览器中输出未格式化的结果。我能够将网站内容写入我的文本文件,但它不会在我的浏览器中回音。我试着在我原来的句柄中使用“w+”和“r+”,但这并没有奏效。我做错了什么使用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 = "
$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会这样做,因为它会很快将你归类为垃圾邮件发送者——我经常遇到这种情况。您可以通过标识为浏览器来绕过此阻塞。查找旋度,这将允许您这样做。正如你上面所说的,你的主要目标是学习,这将非常有助于实现最终目标。谢谢!这简化了事情。