PHP ZIP архив — PHP ZIP изображение с URL и скачать на локальный

Я использую следующий код, чтобы сжать изображение онлайн и загрузить файл почтового индекса к местному. Но покажи «file not exist».

$url = "http://www.google.com/intl/en_ALL/images/logo.gif";
$zip = new ZipArchive;
$zipname = sys_get_temp_dir() . "/" . time() . ".zip";
if ($zip->open($zipname, ZipArchive::CREATE) === TRUE) {
$zip->addFromString('logo.gif', file_get_contents($url));
$zip->close();
if (file_exists($zipname)) {
// force to download the zip
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="' . $zipname . '"');
readfile($zipname);
// remove zip file from temp path
unlink($zipname);

echo "ok";
} else {
echo "file not exist";
}
} else {
echo "failed";
}

Как мне это решить? Спасибо

0

Решение

Вам нужно определить $zipname с абсолютным путем к некоторому доступному для записи каталогу. Например, вы можете использовать sys_get_temp_dir() функция для получения php temp dir path.

$zipname = sys_get_temp_dir() . "/" . time() . ".zip";

Смотрите здесь больше информации о sys_get_temp_dir() функция:http://php.net/manual/en/function.sys-get-temp-dir.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]