Я пытаюсь заархивировать и загрузить файлы из каталога, используя PHP, и я использовал предложение «skrilled» из следующего URL:
ZIP все файлы в каталоге и скачать .zip генерируется
Код работает нормально для меня, но мне нужно добавить следующие функции в коде:
$ zipname = ‘adcs_RAN-CHARACTERS-HERE.zip’;
Я хочу добавить случайные символы в имя файла, как показано ниже:
$ zipname = ‘adcs_RAN-CHARACTERS-HERE.zip’;
Когда вы создадите имя, идите вперед и вставьте любые произвольные символы, которые вы хотите. Скажем, например, что вы хотели включить несколько читабельную временную метку (с точностью до секунды), вы можете сделать это так:
$zipname = 'adcs_' . date('YmdHis') . '.zip';
Обратите внимание, что в строке заголовка необходимо указать имя переменной:
header("Content-Disposition: attachment; filename='$zipname'");
Я хочу удалить файл после того, как пользователь скачал файл.
Это становится сложнее. Проблема в том, что вы не можете точно знать, когда пользователь завершил загрузку файла. Я бы использовал другой скрипт для периодической очистки файлов (например, запланированный как задание cron). Или каждый раз, когда вы собираетесь создать новый zip-файл, вы можете сначала удалить все старые. Или просто используйте каталог temp / tmp в системе, который будет очищаться всякий раз, когда это происходит.
Других решений пока нет …