无法用PHP写入文件

时间:2017-06-13 06:44:08

标签: php file

我正在尝试将简单文本写入php文件。 代码的快照如下:

$a =  $_GET["option"];
$a = (string)$a;
$b = $_GET["ip_address"];
$myfile = fopen("newfile.txt", "w");
fwrite($myfile,$a);
fwrite($myfile,$b);
echo $a;
echo $b;

当我通过终端打开文件时,它是空的。但是php代码中的echo命令按预期显示输出。

程序执行完毕后文件是否应保留内容? 我使用here

中的语法

编辑: 新文件由PHP创建,但它没有写入权限。我改变了它现在有效

4 个答案:

答案 0 :(得分:3)

$a =  $_GET["option"];
$a = (string)$a;
$b = $_GET["ip_address"];
$myfile = fopen("newfile.txt", "w");
fwrite($myfile,$a);
fwrite($myfile,$b);
fclose($myfile);
echo $a;
echo $b;

尝试一次,因为你没有关闭连接,因此输出没有被存储

答案 1 :(得分:1)

使用fclose($myfile);关闭文件并检查您正在编写的文件/文件夹的权限。

答案 2 :(得分:0)

你应该关闭连接。请阅读本手册fclose manual

$myfile = fopen("newfile.txt", "w");
fwrite($myfile,"some text");
fwrite($myfile,"another text");
fclose($myfile);
echo $a;
echo $b;

答案 3 :(得分:0)

虽然其他答案说你必须使用fclose来解决你的问题,但这是偶然的。实际问题是当您使用fwrite输出缓冲时 - 它存储在内存中但尚未提交到文件系统。要将此输出提交到您的文件,您应该使用fflush($myfile)fflush documentation);在关闭文件句柄之前,您可以多次执行此操作。请记住,您应始终使用fclose关闭文件句柄,以确保正确清理资源。