php fwrite和fopen在同一语句中
我看到一个php脚本,它写入了如下文件: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
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会有所帮助;-)他们有很好的文档。