PHP архивирование файлов без сохранения в локальном каталоге - PullRequest
0 голосов
/ 18 октября 2018

Я хочу заархивировать некоторые изображения с помощью Laravel, но я не могу понять, как заархивировать эти изображения без предварительного сохранения в локальном каталоге.Возможно ли это сделать без сохранения их в моем локальном каталоге?У меня работает PHP 7.1 на моем локальном компьютере.

Из официальных документов ZipArchive файл можно добавить в zip, только если он уже хранится в локальном каталоге.

Вот некоторые фрагменты моего кода для архивирования одного изображения:

Use Image;
Use ZipArchive();
$image = Image::make('http://example-image.com');
$zip = new ZipArchive();
$zip->addFile($image, 'image-filename');

Ожидаемое поведение: Изображение будет вставлено в $zip.

Любая помощь будет принята с благодарностью.Спасибо!

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Попробуйте:

$zip->addFile($_FILE['tmp_name'], $_FILE['name']);

добавить в zip из временного местоположения

0 голосов
/ 18 октября 2018

Попробуйте использовать addFromString :

$zip->addFromString('image-filename.png', $image->encode('png'));

или

$zip->addFromString('image-filename.png', $image->encode('jpg', $quality));
...