在SUCCESSful Move之后,move_uploaded_file()会自动删除临时上传的文件吗?

时间:2012-12-12 13:32:20

标签: php file-upload upload

我的问题是:“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;
}

或者根本不需要它?

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

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

  

功能描述:此功能检查以确保该文件   由filename指定的是一个有效的上传文件(意思是它   通过PHP的HTTP POST上传机制上传)。如果文件有效,   它将被移动到目的地给出的文件名。

     

如果有任何机会,这种检查尤其重要   任何完成上传文件的内容都可以将其内容透露给   用户,甚至是同一系统上的其他用户。

所以我们在这里看到:

如果文件有效,则移动为目的地给出的文件名。

答案 2 :(得分:1)

临时文件自动删除。你不必手动删除它。 move_uploaded_file函数也不会删除此临时文件。