LINUX.ORG.RU

perl Archive::Zip

 


0

1
use Archive::Zip;
my $zip = Archive::Zip->new();
my $namefile = '/var/www/app/files/70/file.zip';
my $status = $zip->read( $namefile );
$status = $zip->extractTree( { root => '', zipName => '/var/www/app/files/70' });


В логах:
error: Could not extract /var/www/app/files/70/file.txt safely: /var/www/app/files is an existing symbolic link

Файлы хранятся на отдельном разделе, поэтому используется ссылка.
Если вместо ссылки создать каталог /var/www/app/file, то ошибки нет.

★★

Последнее исправление: WinLin2 (всего исправлений: 2)

Перл всегда дереференсит симлинки, не нравится ему, что у тебя в пути симлинк.

r3lgar ★★★★★
()

Проблема была ясна, что делать непонятно.

WinLin2 ★★
() автор топика
Ответ на: комментарий от WinLin2

Линки в перле можно раскрыть кодом аля

use Cwd 'abs_path';

$absFilePath = abs_path("$linkPath");

тогда должно всё работать и в Archive::Zip.

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

Спасибо.
В следующий раз применю.

WinLin2 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.