Я не могу заархивировать символические связанные файлы с помощью PHPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Я не могу заархивировать символические связанные файлы с помощью PHP

Сообщение Anonymous »

У меня есть Linux-сервер cPanel, на котором работает веб-сервер LiteSpeed. На этом сервере идут постоянные загрузки фотографий на хостинг. Однако с каждым днем ​​сайт немного растет, и у меня возникают проблемы с резервными копиями.
Я подумал о том, чтобы переместить фотографии прошлых лет в место за пределами зоны хостинга и предотвратить ненужное резервное копирование. каждый день. Я создал папку снаружи и дал доступ с хостинга по символической ссылке. На стороне веб-сервера проблем нет. Фотографии отображаются на сайте.
Однако иногда пользователи хотят создать отчет и скачать старые файлы в виде zip-архива. Я не могу включить файлы, доступные по символической ссылке, в zip-архив с помощью PHP.
Я попробовал запустить zip с помощью exec вместо функции zip PHP.
Я добавил open_basedir в php.ini.
Я добавил «Options +FollowSymLinks +SymLinksIfOwnerMatch» в .htaccess.
Однако мне это не удалось.
Можно ли это сделать? сделать что-то подобное, не ставя под угрозу безопасность сервера?
Мой PHP-код:

Код: Выделить всё

$zip = new ZipArchive();
$zip->open("test.zip", ZipArchive::CREATE);

$zip->addFile('/home/mysite/public_html/files/photo1.jpg', 'photo1.jpg');
$zip->addFile('/home/mysite/public_html/myPhotos/photo2.jpg', 'photo2.jpg');
$zip->addFile('/backup/myPhotos/photo3.jpg', 'photo3.jpg');

$zip->close();
Когда я запускаю этот код, единственным файлом в zip-файле является файл photo1.jpg в папке files, которая является настоящей папкой.
/home/mysite/public_html/files — это настоящая папка.
/home/mysite/public_html/myPhotos/ — это символическая ссылка из /backup/myPhotos.

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-with-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»