PHP重命名多长时间


PHP rename how long

是否有方法获取复制文件所需的时间。

使用php重命名函数。

重命名($old_dest,$new_dest);

它会很快,但您可以尝试将其放在重命名之前:

$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;

在你的代码之后:

$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
echo "It took ".$totaltime." second(s)";

对于PHP5+,您也可以使用微时间(true):

$time_start = microtime(true);
// Your code
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "It took $time second(s)";

但是有很多行需要重命名(如果你想检查一些东西,你可以尝试用更多的代码来做这件事)

重命名文件时,必须区分两种情况:

  • 旧名称和新名称在同一个文件系统上。在这种情况下,操作系统只需要修改两个目录条目
  • 旧名称和新名称位于不同的文件系统上。这意味着重命名相当于复制然后删除旧文件。因此,所需的时间将取决于文件的大小

在任何一种情况下,速度都将大致按降序取决于:

  1. 系统的I/O使用情况。如果成千上万的进程并行地修改文件,那么任何文件系统的操作都会很慢
  2. 操作系统的内存中缓存。现代操作系统(Linux>=2.4,Windows>=6)只需在内存缓存中执行重命名,返回到用户空间,然后将其写入磁盘
  3. 物理磁盘的速度。在第一种情况下,寻道速度比吞吐量更重要
  4. 操作系统(特别是其文件系统和块设备驱动程序)
  5. 您选择的文件系统
  6. 编程语言(即php与C)将不会产生任何重大影响

如果你想得到具体的数字,就试试吧。你可以用getrusage。