Я пытаюсь zip и загружать файлы из каталога с помощью 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 в системе, который будет очищен всякий раз, когда это произойдет.