php函数move_uploaded_file()会导致磁盘io吗?

php函数move_uploaded_file()会导致磁盘io吗?

/tmp 目录和目标目录位于同一文件系统上。如果处理大型文件(超过 1GB),这会产生磁盘 io 方面的开销吗?

让 php 立即将 tmp 文件放入目标位置会更好吗?

答案1

/tmp 目录和目标目录位于同一文件系统上。如果处理大型文件(超过 1GB),这会产生磁盘 io 方面的开销吗?

否 - 如果它们在同一个文件系统上,则会使用非常少量的磁盘 IO(相当于重命名文件)。

请注意,在很多情况下,/tmptmpfs是 RAM 中的文件系统,因此请先检查它(如果是,则上传到它不是一个好主意,因为大量并发上传将失败)。

答案2

看着php 源代码,它似乎在复制之前尝试重命名。因此,如果文件确实位于同一文件系统上,则这应该只会执行最少的文件 I/O。

相关内容