当前,我正在调查在PHP中运行重命名功能后剩余的原始文件的问题。
该程序很简单,已移动到一个临时文件夹。(在带有FuelPHP的PHP中)
function range(n) {
let arr = Array.from({
length: n
}, (_, i) => i + 1)
return arr
}
console.log(range(9))
这时,临时文件夹(/ tmp)已安装NFS。
并在临时文件夹中创建(复制)了文件(file.jpg),但未删除(移动)原始文件。
这可能是正常现象,因为它已装入NFS。
但是,似乎有一个使用此重命名功能的项目。
“有效”意味着原始文件已删除。
以前正在工作的项目的行为。
\File::rename('/path/to/uploads/file.jpg', '/tmp/file.jpg');
当前的非运行状况。
// A file exists.
/var/www/project/public/uploads/original.jpg
// Run PHP(FuelPHP) via Apache
\File::rename('/var/www/project/public/uploads/original.jpg', '/tmp/original.jpg');
// After program execution
/var/www/project/public/uploads/
/tmp/original.jpg
工作正常。(已删除)
// A file exists.
/var/www/project/public/uploads/original.jpg
// Run PHP(FuelPHP) via Apache
\File::rename('/var/www/project/public/uploads/original.jpg', '/tmp/original.jpg');
// After program execution
/var/www/project/public/uploads/original.jpg // <- This is the problem.
/tmp/original.jpg
看来基础架构没有改变。
我认为每个软件(PHP次要版本等)都已更新。
无论是否获得许可,重命名功能均不起作用(777)。
因此,问题是为什么它以前可以工作。
在NFS装入的环境中是否可以从程序(重命名功能)中删除原始文件?
如果无法从程序中移动(重命名),请进行调查,因为这是基础结构问题。
我想知道该程序(在PHP中重命名为nfs挂载文件夹)永远做不到的绝对证据。