fopen($handle, 'w+');
我正在寻找打开一个 .CSV 文件,读取每一行并对数据库执行某些操作,然后截断 .CSV 文件并编写类似的内容
该文件已被读取。
w+ 表示读/写,但文件也被截断。那么如果 fopen w+ 只会擦除其中的内容,那么读取的意义何在?
fopen($handle, 'w+');
我正在寻找打开一个 .CSV 文件,读取每一行并对数据库执行某些操作,然后截断 .CSV 文件并编写类似的内容
该文件已被读取。
w+ 表示读/写,但文件也被截断。那么如果 fopen w+ 只会擦除其中的内容,那么读取的意义何在?
采用a+
从文档中:
'w+' Open for reading and writing; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
'a+' Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
然后在你读完之后使用 unlink($filename) 。
在您的情况下,您可能希望以“r”模式打开文件以读取它。然后将其关闭并以“w”模式重新打开以编写截断消息。
使用“c+”模式。
打开文件进行读写。如果文件不存在,则创建它。如果它存在,它既不会被截断(与“w”相反),对该函数的调用也不会失败(就像“x”一样)。文件指针位于文件的开头。