PHP: Когда временные загруженные файлы удаляются?
Я запускаю сервер WAMP. При загрузке файла с использованием PHP я вижу
$_FILES[tmp_name] => string 'C:\wamp\tmp\phpD382.tmp' (length=23)
Я иду в эту папку, и она пуста. Я убедился, что мои "show hidden files" включены из моего опциона "Папки", но я этого не вижу. Где это точно?
Кроме того, когда он удаляется? Если я не переведу этот файл? Для экземпляра, если я загружаю файл и файл, загруженный на полпути, и я решил закрыть этот браузер, что происходит с файлом? Когда сервер знает, чтобы удалить этот временный файл?
Ответы
Ответ 1
Как только ваш PHP script завершит выполнение и повторное сохранение в определенном месте
Пример использования прямого 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>";
?>
Ответ 2
Если вы ничего не сделаете с ними, они будут удалены сразу после завершения script.
Ответ 3
Если удаление файла нежелательно, я обнаружил, что PHP не удалит файл после выполнения, если вы "переместите" его в то же место.
move_uploaded_file($temporaryFile, $temporaryFile);