Php 写入txt文件

Php 写入txt文件,php,fwrite,Php,Fwrite,我目前正在尝试使用PHP编写txt文件,我发现了以下小脚本: <?php $filename = 'testFile.txt'; $somecontent = "Add this to the file\n"; if (is_writable($filename)) { if (!$handle = fopen($filename, 'a')) { echo "Cannot open file ($filename)"; exit;

我目前正在尝试使用PHP编写txt文件,我发现了以下小脚本:

<?php
$filename = 'testFile.txt';
$somecontent = "Add this to the file\n";

if (is_writable($filename)) {

    if (!$handle = fopen($filename, 'a')) {
         echo "Cannot open file ($filename)";
         exit;
    }

    if (fwrite($handle, $somecontent) === FALSE) {
        echo "Cannot write to file ($filename)";
        exit;
    }

    echo "Success, wrote ($somecontent) to file ($filename)";
    fclose($handle);

} 

else {
    echo "The file $filename is not writable";
}
?>

我收到一条成功消息,但没有写入文件。即使我删除了txt文件,我仍然会收到成功消息


有人知道如何解决这种情况吗?

您的代码运行得非常好。但是,请注意,如果文件尚不存在,
可写
检查将失败


如果您通过Web服务器执行,请确保您没有查看缓存的响应。

您的代码工作正常。但是,请注意,如果文件尚不存在,
可写
检查将失败


如果您通过Web服务器执行,请确保您没有查看缓存响应。

您对
的第一次检查是可写的,因为如果文件不存在,它将失败。
当您将
fopen
与文件中出现的“a”参数一起使用时(如果文件存在),否则将创建一个新的参数

如果要检查文件是否存在,可以使用
file\u exists
(),但实际上不需要

用你的代码,如果你删除文件,你应该会得到一个“文件不可写”的错误。。。你确定你有那个密码吗


否则,我尝试了该代码,它工作正常(如果不使用第一个
if
)。

您对
的第一次检查是可写的,因为如果文件不存在,它将失败。
当您将
fopen
与文件中出现的“a”参数一起使用时(如果文件存在),否则将创建一个新的参数

如果要检查文件是否存在,可以使用
file\u exists
(),但实际上不需要

用你的代码,如果你删除文件,你应该会得到一个“文件不可写”的错误。。。你确定你有那个密码吗


否则,我尝试了代码,它工作正常(没有第一个
if
)。

如果删除该文件,是否在看到成功消息后重新创建该文件?此外,尝试“echo fwrite($handle,$somecontent)”,它应该打印写入的字节数。成功消息后不会重新创建该文件。当我“echo fwrite($handle,$somecontent)”时,我得到21个字节。如果删除该文件,是否在看到成功消息后重新创建该文件?此外,尝试“echo fwrite($handle,$somecontent)”,它应该打印写入的字节数。在成功消息后不会重新创建该文件。当我“echo fwrite($handle,$somecontent)”时,我得到了21个字节(只想到自己缓存了响应),我正在通过Web服务器执行脚本-很抱歉,我是n00b,但是如何避免查看缓存的响应?发送阻止缓存的标题,或者,如果只是针对您,您可以使用CTRL+F5重新加载它(只是想到了缓存自己的响应)我正在通过Web服务器执行脚本-很抱歉,我是n00b,但是如何避免查看缓存的响应?发送阻止缓存的标题,或者,如果只是为了您,您可以使用CTRL+F5OP的代码(包括
可写
检查)重新加载它fronm是php.net上的官方
fwrite
示例:。他们的代码不正确吗?@amindfv:从技术上讲,这不是不正确的,但它使用
is_writable
来检查文件的存在,这不是函数应该使用的。如果文件不存在,
is_writable
确实会失败,但这不是我们想要的是的,他们的代码“功能不正确”。OP的代码(包括
是可写的
检查)fronm是php.net上的官方
fwrite
示例:。他们的代码不正确吗?@amindfv:从技术上讲,这不是不正确的,但它使用
is_writable
来检查文件的存在,这不是函数应该使用的。如果文件不存在,
is_writable
确实会失败,但这不是我们想要的所以,是的,他们的代码是“功能不正确的”。