我正在运行 WAMP 服务器。在使用 PHP 上传文件时,我看到了
$_FILES[tmp_name] => string 'C:\wamp\tmp\phpD382.tmp' (length=23)
我去那个文件夹,它是空的。我确保从我的“文件夹选项”中打开了“显示隐藏文件”,但我没有看到它。它究竟在哪里?
另外什么时候删除?如果我不移动那个文件?例如,如果我正在上传文件并且文件上传到一半,我决定关闭该浏览器,文件会发生什么情况?服务器何时知道删除该临时文件?
我正在运行 WAMP 服务器。在使用 PHP 上传文件时,我看到了
$_FILES[tmp_name] => string 'C:\wamp\tmp\phpD382.tmp' (length=23)
我去那个文件夹,它是空的。我确保从我的“文件夹选项”中打开了“显示隐藏文件”,但我没有看到它。它究竟在哪里?
另外什么时候删除?如果我不移动那个文件?例如,如果我正在上传文件并且文件上传到一半,我决定关闭该浏览器,文件会发生什么情况?服务器何时知道删除该临时文件?
一旦您的 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>";
?>
如果您不对它们做任何事情,它们将在脚本完成后立即被删除。
如果不需要删除文件,我发现如果您将其“移动”到同一位置,PHP 不会在执行后删除文件。
move_uploaded_file($temporaryFile, $temporaryFile);