5

我的问题是:“move_uploaded_file()移动成功后是否会自动删除临时上传的文件?”

只是为了摆脱我需要这样做的困惑:

// Successful upload
if ( move_uploaded_file($file['tmp_name'], $destination) ) {
  unlink($file['tmp_name']);
  return TRUE;
} else {
  // Upload Failed
  unlink($file['tmp_name']);
  return FALSE;
}

还是根本不需要?

4

3 回答 3

7

您不需要手动unlink()临时文件;成功上传后,PHP 会自行清理。该函数称为移动_uploaded_file,而不是复制_uploaded_file

于 2012-12-12T13:36:02.580 回答
2

是的,它确实。
http://php.net/manual/en/function.move-uploaded-file.php

函数说明:该函数检查以确保filename指定的文件是一个有效的上传文件(即是通过PHP的HTTP POST上传机制上传的)。如果文件有效,它将被移动到目的地给定的文件名。

如果对上传文件进行的任何操作都可能向用户甚至同一系统上的其他用户泄露其内容,则这种检查尤其重要。

所以我们在这里看到:

如果文件有效,它将被移动到目的地给定的文件名。

于 2012-12-12T13:35:33.393 回答
2

临时文件被自动删除。您不必手动删除它。move_uploaded_file函数也不会删除这个临时文件。

于 2012-12-12T13:36:43.793 回答