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

时间:2012-06-21 03:46:28

标签: php file-upload

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

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

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

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

3 个答案:

答案 0 :(得分:30)

一旦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>";

?>

答案 1 :(得分:8)

如果你不对它们做任何事情,它们将在脚本完成后立即删除。

答案 2 :(得分:3)

如果不想删除文件,我发现如果你将文件“移动”到同一位置,PHP将不会删除文件。

var modObj  = JSON.parse(JSON.stringify(myObj));