gpt4 book ai didi

php - 中途更改 fopen() 模式?

转载 作者:可可西里 更新时间:2023-10-31 22:59:15 24 4
gpt4 key购买 nike

我这段代码:

$file = fopen($path, 'r+');
flock($file, LOCK_EX);
// reading the file into an array and doing some stuff to it
for ($i=0; $i<count($array); $i++)
{
fwrite($file, $array[$i]);
}
flock($file, LOCK_UN);
fclose($file);

基本上我想做的是:打开一个文件 > 锁定它 > 读取它 > 做一些事情 > 清除文件> 写入文件 > 解锁它 > 关闭它。

问题是清算部分。我知道我可以用 fopen($file, 'w+') 做到这一点,但那样的话阅读就会有问题。也许我可以通过某种方式更改模式

保罗,我们将不胜感激

最佳答案

如果使用 fseek 将指针设置为 0,则可以像这样运行 ftruncate:

// reading the file into an array and doing some stuff to it

//1
fseek($handle,0); //Set the pointer to the first byte

//2
ftruncate($handle,filesize("yourfile.ext")); //from the first byte to the last truncate

//3 - File should be empty and still in writing mode.

for ($i=0; $i<count($array); $i++)
{
fwrite($file, $array[$i]);
}

使用 ftruncate 时,请注意第二个参数的这些问题:

关于php - 中途更改 fopen() 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4728583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com