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