【发布时间】:2012-08-20 09:10:19
【问题描述】:
我想用php交换两个文件的内容。但似乎文件执行是在脚本末尾以一种奇怪的方式处理的。因为它总是要么只将内容写入一个文件,要么什么也没发生,但文件被重写了。
我尝试了以下方法:
rename($file1,$file2_temp);
rename($file2,$file1); // replace the file1
rename($file2_temp,$file2); // save the temporary file2 as the file2
我也尝试将其放入fopen 和flock 语句中,但没有成功。
有人有解决办法吗?
【问题讨论】:
-
思路还行,可能你没有权限
-
在黑暗中拍摄 - 尝试在每行之间放置一个
usleep(100)... -
还有:重命名($file2,$file1); // 替换 file1 不替换 file1,它替换 file2 name !使用文件 1 名称;
-
试过你的代码,它对我有用,没有问题。您是否为变量($file1、$file2_temp 和 $file1)输入了正确的路径和文件名?还要检查您是否有权这样做。重命名函数如果成功则返回 true,否则返回 false,因此添加例如: $ren1 = rename($file1, $file2_temp); $ren2 = 重命名($file2, $file1); $ren3 = 重命名($file2_temp, $file2);回声“输出:$ren1 $ren2 $ren3”;它应该像 1 1 1 一样回显 3x 1 (true)
-
谢谢,我会试试的..
标签: php filesystems rename fopen swap