【问题标题】:How to add a file from web to a zip file on my server using php?如何使用 php 将 web 文件添加到我的服务器上的 zip 文件?
【发布时间】:2017-07-13 12:37:34
【问题描述】:

想象http://example.com/icon.jpg 有一张图片,我想使用 php 将它添加到我自己的名为“Stack.zip”的服务器上的 zip 文件中。这是我的代码,但它不起作用。

$url="http://example.com/icon.jpg"
$zip = new ZipArchive;
echo $zip->open("Stack.zip");
$zip->addFile($url);
$zip->close();

P.S. 我可以使用本地文件进行操作,但使用 Internet 地址却没有成功。所以这就是我问这个问题的原因。

【问题讨论】:

  • 到目前为止你能负担多少?你在网上查过吗?例如the php manuals
  • @AndreasLackner 是的,我成功地使用了本地文件,但没有使用来自互联网的地址。
  • 然后将文件存储在本地临时文件夹中

标签: php upload zip cloud


【解决方案1】:

来自 PHP 手册:http://php.net/manual/en/ziparchive.addfile.php (PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

这假设您要添加到服务器上现有的 zip 文件。

$url = 'https://www.stackoverflowbusiness.com/hubfs/logo-so-color.png?t=1499443352566';
$local_path = '/your/local/folder/';
$img = 'icon.jpg';
file_put_contents($local_path.$img, file_get_contents($url));

$zip = new ZipArchive;
if ($zip->open($local_path.'Stack.zip') === TRUE) {
    $zip->addFile($local_path.$img, $img);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}

如果您想保持与原始源文件相同的文件夹结构,请更改此行..

$zip->addFile($local_path.$img, $img);

...到这个...

$zip->addFile($local_path.$img);

如果你想要相同的脚本来创建 zip,你可以在这里找到一个 PHP 函数:Add files to the zip

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多