4
fopen($handle, 'w+');

我正在寻找打开一个 .CSV 文件,读取每一行并对数据库执行某些操作,然后截断 .CSV 文件并编写类似的内容

该文件已被读取。

w+ 表示读/写,但文件也被截断。那么如果 fopen w+ 只会擦除其中的内容,那么读取的意义何在?

4

4 回答 4

7

采用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.
于 2012-08-13T18:13:09.620 回答
2

然后在你读完之后使用 unlink($filename) 。

于 2012-08-13T18:15:07.403 回答
0

在您的情况下,您可能希望以“r”模式打开文件以读取它。然后将其关闭并以“w”模式重新打开以编写截断消息。

于 2012-08-13T18:11:14.270 回答
0

使用“c+”模式。

打开文件进行读写。如果文件不存在,则创建它。如果它存在,它既不会被截断(与“w”相反),对该函数的调用也不会失败(就像“x”一样)。文件指针位于文件的开头。

http://php.net/manual/en/function.fopen.php

于 2016-12-24T20:44:46.420 回答