无法在PHP中写入文件

无法在PHP中写入文件,php,file,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命令会按预期显示输出 程序完成执行后,文件是否应

我正在尝试将一个简单的文本写入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命令会按预期显示输出

程序完成执行后,文件是否应保留内容? 我使用的语法来自

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

$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;
请再试一次,因为您没有关闭连接,因此没有存储输出


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

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

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

您必须关闭连接。请阅读本手册


您必须关闭连接。请阅读本手册


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

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

使用文件后需要关闭文件。使用fclose()完成此操作在您的情况下,我建议使用
文件\u put\u contents()
而不是
fopen()
,因为您要写入数据,然后追加数据。使用后需要关闭文件。使用fclose()完成此操作在您的情况下,我建议使用
file\u put\u contents()
而不是
fopen()
,因为您希望写入并附加数据。请解释(对于OP和未来用户)您在这里做什么,而不是只发布代码答案。请解释(对于OP和未来用户)您在这里做什么,而不是张贴一个代码唯一的答案。
$myfile = fopen("newfile.txt", "w");
fwrite($myfile,"some text");
fwrite($myfile,"another text");
fclose($myfile);
echo $a;
echo $b;