文件打开时被重命名的情况

看一段程序吧:

<?php
file_put_contents
(‘a’,‘A’
);
$fp fopen(‘a’,‘w’
);
rename(‘a’,‘b’
);
fwrite($fp,‘B’
);
echo 
file_get_contents(‘a’
);
fclose($fp
);
exit;
?>

结论: 文件a被打开时,重命名为b,此时想资源描述符里写的内容实际写到了b文件里了。

另一种情况:

1. a进程打开文件file1

2. b进程删除file1

3. a进程向file1里写东西, 这时不会报错

4. a进程退出,这时文件被真正删除

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据