【发布时间】:2012-10-08 07:48:41
【问题描述】:
我正在尝试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';
}
【问题讨论】:
-
重命名文件的过程是否会导致它从一个磁盘分区移动到另一个磁盘分区?
-
@MikeBrant 这个问题里写得很清楚:“旧名和新名路径在同一个目录下。”
-
也许使用 exec() 调用 'mv filename newName' 会更好?
-
@pbvamsi 我不明白这些问题与这个问题有什么关系?
标签: php performance file-rename