重命名900kb的pdf文件需要很长时间

Tea*_*App 8 php performance file-rename

我正在尝试rename()使用PHP的900 KiB PDF文件.由于某种原因,重命名它需要很长时间.我认为应该是即时的.

这是在CentOS服务器上.在重命名文件时,我可以获取属性,似乎rename()是复制并用新重命名的文件替换旧文件.

旧名称和新名称路径位于同一目录中.

以前有人偶然发现了这个问题吗?


码:

    //If exists change name and then return path
    $pieces = explode("@", $filename);
    $newName = $pieces[0].' '.$pieces[2];

    rename($uidPath.$filename, $uidPath.$newName);

    if (preg_match('/pdf/', $pieces[2]))
    {
        $result['status'] = '1';
        $result['path'] = 'path to file';
    } 
    else 
    {
        $result['status'] = '1';
        $result['path'] = 'path to file';
    }
Run Code Online (Sandbox Code Playgroud)

c2h*_*5oh 3

由于某种原因,PHP 释放文件锁定的速度非常慢fclose(),因此如果您在移动文件之前写入文件,则可能需要等待一段时间。我在低优先级后台作业中遇到了这个问题,所以我并没有真正研究为什么会发生这种情况,或者我可以采取什么措施来防止它 - 我只是在 和 之间添加了 1 秒fclose()睡眠rename