Вопрос

Я работаю над сценарием загрузки.

Если пользователь загружает файл, и он уже существует, я хочу предупредить пользователя (это все через AJAX) и дать им возможность заменить его или отменить.

Вместо того, чтобы переместить файл, мне было любопытно, если бы я мог просто оставить файл в TMP и передать путь к этому файлу в ответ AJAX.

Если они пользователь, говорит, перезапишите старый файл в том, что AJAX-запрос пропустите путь назад к PHP, который продолжает работать в файле.

Для этого работать, однако мне нужно знать, как долго файл остается в PHP TMP Dir

Это было полезно?

Решение

Файлы, загруженные через пост, удаляются сразу после того, как скрипт PHP заканчивает его выполнение.

В соответствии с php.net.net.: «Файл будет удален из временного каталога в конце запроса, если оно не было отозвано или переименовано».

Другие советы

Для загруженных файлов, Ручная состояния:

Файл будет удален из временного каталога в конце запроса, если оно не было отозвано или переименовано.

Следовательно, файлы, которые должны быть сохранены, следует перемещать в другое место.

В целом, поскольку ваш вопрос заголовка может подразумевать, временные папки остаются убраны системой. Это правда при использовании функций, таких как пример или Tmpfile., или просто при написании во временном каталоге (см. sys_get_temp_dir.).

В Ubuntu это делается в каждой перезагрузке системы или через интервал времени, как определено в /etc/default/rcS.

В некоторых дистрибутивов красной шляпы, это делается с использованием tmpwatch Утилита от Cronjob. В других, /tmp раздел устанавливается с помощью tmpfs Файловая система, которая аналогична RAM-диске (поэтому очищается, когда компьютер выключается).

Другой известный механизм представляет собой порог размера, что означает, что временный каталог будет очищен от более старых файлов, когда он достигает определенного размера.

Существует три переменных, которые необходимо установить в PHP, чтобы убедиться, что сборка мусора / TMP-каталога происходит правильно, и они:

session.gc_maxlifetime = 21600
session.gc_probability = 1
session.gc_divisor = 100

Установите Session.gc_maxLifetime, чтобы быть количество секунд, которые вы хотите, чтобы каждый файл TMP длиться до его удаления. Если вы войти в админ в OpenCART, это количество секунд, пока вы не будете автоматически вытеснены. Например, чтобы установить полчаса, вы будете делать 60 секунд раз 30 минут, что было бы значением 1800 секунд.

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

Больше информации здесь:https://www.antropy.co.uk/blog/Opencart-php-session-tmp-files-filling-up/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top