PHP: Когда удаляются временные загруженные файлы?


Я запускаю сервер WAMP. При загрузке файла с помощью PHP я вижу

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

Я захожу в эту папку, и она пуста. Я убедился, что моя опция "показывать скрытые файлы" включена в моей опции "папки", но я ее не вижу. Где именно это находится?

Кроме того, когда он удаляется? Если я не перенесу этот файл? Например, если я загружаю файл, а файл загружен наполовину, и я решил закрыть этот браузер, что произойдет с файлом? Когда сервер узнает, что нужно удалить эту временную файл?

Author: Blackbam, 2012-06-21

3 answers

Как только ваш 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>";

?>
 27
Author: gorelative, 2012-06-21 03:48:53

Если вы ничего с ними не сделаете, они будут удалены сразу после завершения работы скрипта.

 6
Author: Hassan Azimi, 2015-02-04 19:51:13

Если удаление файла нежелательно, я обнаружил, что PHP не удалит файл после выполнения, если вы "переместите" его в то же место.

move_uploaded_file($temporaryFile, $temporaryFile);
 3
Author: Aiphee, 2017-03-01 10:48:08