Сохраняйте символические ссылки при создании zip-файла с помощью php ZipArchive.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сохраняйте символические ссылки при создании zip-файла с помощью php ZipArchive.

Сообщение Anonymous »

Я создаю архив с помощью ZipArchive из каталога, содержащего символические ссылки, которые я хочу сохранить. Пример структуры:

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

-- file1
-- file2
-- directory/file3 --> ../file1
Когда я выполняю приведенный ниже код, в архиве присутствует каталог/файл3, но вместо символической ссылки он содержит содержимое файла. Хотя это работает, существует большое количество ссылок, которые я хочу сохранить, чтобы уменьшить размер архива.

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

    $zip = new ZipArchive();
$zip->open($zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE)

foreach($filesToZip as $name => $file) {
if (!$file->isDir()) {
$filePath = $file->getPathname();
$relativePath = substr($filePath, strlen($rootPath) + 1);
$zip->addFile($filePath, $relativePath);
}
}

$zip->close();
Что бы вы порекомендовали в качестве решения?
Я также пробовал использовать file->getRealPath(), что только усугубляет проблему, поскольку он добавляет файл с его абсолютным путем в архив.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ziparchive
Ответить

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

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

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

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

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