php fwrite和fopen在同一语句中

php fwrite和fopen在同一语句中,php,io,Php,Io,我看到一个php脚本,它写入了如下文件: fwrite(fopen($logFileName,“a”),$logData) 这肯定比: $handle = fopen($logFileName, "a"); fwrite($handle, $logData); fclose($handle); 特别是对于单行程序,或者当您想在一条语句中写入文件时 在第一次进近时不使用fclose可以吗?或者在某种程度上,这段代码被认为是错误的 额外问题:是否有类似于文件内容($logFileName,$log

我看到一个php脚本,它写入了如下文件:

fwrite(fopen($logFileName,“a”),$logData)

这肯定比:

$handle = fopen($logFileName, "a");
fwrite($handle, $logData);
fclose($handle);
特别是对于单行程序,或者当您想在一条语句中写入文件时

在第一次进近时不使用
fclose
可以吗?或者在某种程度上,这段代码被认为是错误的

额外问题:是否有类似于
文件内容($logFileName,$logData)
的一行代码,但允许我附加到文件而不是覆盖它


谢谢:-)

这一行的主要错误是丢失了fclose。 一点也不好

但是,如果这是唯一的语句,或者程序员在脚本生命周期内不关心某些打开的文件句柄,那就可以了

警告:通常,当脚本终止时,php会清理运行时分配的所有资源。对于CGI调用尤其如此。我想,对于非CGI调用(托管在Web服务器中的php模块)也是如此,但您应该知道这一点

对于您的奖金问题: 答案是肯定的,尽管我想你想要一些不同的东西

file\u put\u contents($filename,file\u get\u contents($filename)。$newContent);
从字面上说,你的问题已经在这里得到了回答,从语义上说,这甚至不值得一试,因为你把整个文件读入内存只是为了把它放回去

但是,是什么阻止您自己编写该函数呢

函数文件\u放入\u附加内容($filename,$content){
$file=fopen($filename,“a”);
fwrite($file,$content);
fclose($文件);
}
[编辑] 正如Symeon Quimby指出的,文件内容有一个特殊标志:

file\u put\u contents($filename,$content,file\u APPEND);

这一行中的主要错误是缺少fclose。 一点也不好

但是,如果这是唯一的语句,或者程序员在脚本生命周期内不关心某些打开的文件句柄,那就可以了

警告:通常,当脚本终止时,php会清理运行时分配的所有资源。对于CGI调用尤其如此。我想,对于非CGI调用(托管在Web服务器中的php模块)也是如此,但您应该知道这一点

对于您的奖金问题: 答案是肯定的,尽管我想你想要一些不同的东西

file\u put\u contents($filename,file\u get\u contents($filename)。$newContent);
从字面上说,你的问题已经在这里得到了回答,从语义上说,这甚至不值得一试,因为你把整个文件读入内存只是为了把它放回去

但是,是什么阻止您自己编写该函数呢

函数文件\u放入\u附加内容($filename,$content){
$file=fopen($filename,“a”);
fwrite($file,$content);
fclose($文件);
}
[编辑] 正如Symeon Quimby指出的,文件内容有一个特殊标志:

file\u put\u contents($filename,$content,file\u APPEND);

有一个append标志有一个append标志我也不知道,但是快速浏览一下php.net会有所帮助;-)他们那里有相当好的文档。我也不知道,但是快速浏览一下php.net会有所帮助;-)他们有很好的文档。