Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 成功移动后,move_uploaded_file()是否会自动删除临时上载的文件?_Php_File Upload_Upload - Fatal编程技术网

Php 成功移动后,move_uploaded_file()是否会自动删除临时上载的文件?

Php 成功移动后,move_uploaded_file()是否会自动删除临时上载的文件?,php,file-upload,upload,Php,File Upload,Upload,我的问题是:“成功移动后,是否会自动删除临时上传的文件?” 为了摆脱困惑,我需要这样做: // 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; } 或者根

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

为了摆脱困惑,我需要这样做:

// 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;
}
或者根本不需要它?

是的,它需要。

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

如果有任何可能 对上传的文件所做的任何操作都可能会将其内容泄露给用户 用户,甚至是同一系统上的其他用户

我们在这里看到:


如果文件有效,它将移动到目标指定的文件名。

您不需要手动
取消链接()
临时文件;成功上传后,PHP会自行清理。该功能称为移动上传的文件,而不是复制上传的文件,临时文件会自动删除。您不必手动删除它<代码>移动上传的文件
功能也不会删除此临时文件。

是,您不需要手动删除它。事实上,没有
move\u上传的文件
删除它。@jeroen是的,我们也可以使用
file\u存在
。我只是在使用
print\r($file)
查看temp_文件名是这样的:如果
move_upload_文件
失败或脚本执行完成时出现任何情况,则PHP的垃圾收集器会删除
tmp_文件
。在任何情况下,该线程都会被删除。在所有情况下,从清晰的角度来看,该线程都应该是完整的…)移动\u上传的\u文件不会在移动后将其删除。它假定将其删除,但不会直接删除。上传的文件是在临时存储。我同意你。它移动而不是复制。竖起大拇指@BogdanBurim!我昨天刚刚选择了我认为简短而恰当的答案,这无疑是基于其他答案。总之,其他人都是对的。因为我已经阅读了PHP.NET手册,但仍然对此感到困惑。因为像PHP.NET手册一样,关于最大文件大小HTML表单字段问题的上传有一个众所周知的氛围。**@BogdanBurim您做出了很好的贡献,伙计**我同意你的看法。它不会移动副本。只是为了更新这里的新手:我已经检查并跟踪了
文件存在($file['tmp\u name'))
移动之前和之后上传的文件(…)
。它在
Move_upload…
之前为1/TRUE,之后为FALSE,确认PHP垃圾收集器在脚本执行完成后从PHP.ini中定义的TEMP_DIR中删除临时文件。(我用的是XAMPP)你说得对,兄弟。谢谢但我必须选择一个更清楚、解释性更强的答案。目前正在做我的选择。