PHP:临时上传的文件何时被删除?

use*_*430 42 php file-upload

我正在运行WAMP服务器.使用PHP上传文件我看到了

$_FILES[tmp_name] => string 'C:\wamp\tmp\phpD382.tmp' (length=23)

我去那个文件夹,它是空的.我确保我的'显示隐藏文件'已从我的'文件夹选项'打开,但我没有看到它.它究竟在哪里?

除了什么时候被删除?如果我不移动该文件?对于一个实例,如果我上传一个文件并且中途上传了文件,我决定关闭该浏览器文件会发生什么?服务器何时知道删除该临时文件?

gor*_*ive 31

一旦PHP脚本完成执行并重新保存到定义的位置

使用直接PHP的示例,没有框架

http://www.php.net/manual/en/features.file-upload.post-method.php

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?>
Run Code Online (Sandbox Code Playgroud)

  • Nvm发现它:如果文件没有被移走或重命名,该文件将在请求结束时从临时目录中删除. (4认同)

Has*_*imi 8

如果您不对它们执行任何操作,则会在脚本完成后立即删除它们.


Aip*_*hee 7

如果不需要删除文件,我发现如果将文件“移动”到同一位置,PHP 在执行后不会删除文件。

move_uploaded_file($temporaryFile, $temporaryFile);
Run Code Online (Sandbox Code Playgroud)