Я работаю над службой веб-резервного копирования, часть которой позволяет пользователю загружать zip-файл, содержащий файлы, которые он выбрал, из списка резервных копий.
Процесс архивирования выполняется с помощью команды shell_exec. Для того, чтобы это работало, я дал команде sup привилегии sudo без пароля для пользователя zip.
Моя проблема в том, что я не могу сделать "sudo cd / path / to / user / files" для папки, содержащей файлы резервной копии пользователя, мне нужно указать полный абсолютный путь к файлам, которые будут заархивированы, которые затем зайдите в почтовый файл, который я не хочу.
Вот что я имею в виду:
Пользователь 'test1' имеет свои резервные копии файлов, которые хранятся следующим образом
/ home / резервные копии / test1 / мои фото / pic1.jpg
/ home / резервные копии / test1 / мои фото / pic2.jpg
/ home / резервные копии / test1 / мои фото / pic3.jpg
/home/backups/test1/hello.txt
/home/backups/test1/music/band/song.mp3
Когда эти файлы заархивированы, они сохраняют полный путь, но я просто хочу, чтобы он показывал:
мои фото / pic1.jpg
мои фото / pic2.jpg
мои фото / pic3.jpg
hello.txt
музыка / группа / Song.mp3
Есть ли какой-нибудь способ указать zip обрезать пути или указать собственный путь для каждого файла?
Или есть какой-то способ изменить рабочий каталог на корневую резервную папку пользователя, чтобы я мог просто указать относительные пути к файлам.
Спасибо за чтение, надеюсь, вы зашли так далеко, и все это имеет смысл!