标签: php-zip-archive

如何在 php 7.4 上安装 ziparchive?

我在 centos 7 上运行 Virtuamin,我无法在 php 7.4 上安装 ziparchive,但是当我切换到 php 7.2 时,它可以工作。我需要 php 7.4 才能工作,因为它更快,而 wordpress 脚本需要 7.3+ 才能有效工作。

apache virtualmin php-zip-archive php-7.4

4
推荐指数
3
解决办法
2万
查看次数

PHP ZipArchive在Laravel中不起作用

如果我在原始php中运行它,PHP ZipArchive工作正常,但当我尝试在我的Laravel项目中运行时,遇到"找不到类"错误:

WidgetController.php第40行中的FatalErrorException:未找到类'App\Http\Controllers\ZipArchive'

这是我在laravel控制器中的功能:

public function installHello()
{
    $file_path = base_path("resources/assets/packages/helloworld.zip");

    $zip = new ZipArchive;
    if ($zip->open($file_path) === TRUE) {
        $zip->extractTo(base_path('packages/tkabir/'));
        $zip->close();
        return redirect()->back();
        //echo 'ok';
    } else {
        echo 'failed';
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我在index.php文件中尝试的示例:

<?php
$zip = new ZipArchive;
if ($zip->open('E:/xampp/htdocs/ziptest/helloworld.zip') === TRUE) {
    $zip->extractTo('E:/xampp/htdocs/ziptest/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
Run Code Online (Sandbox Code Playgroud)

知道为什么它不会在laravel中工作吗?

php laravel-5 php-zip-archive

3
推荐指数
2
解决办法
7361
查看次数

PHP 7.2.7:尝试调用类“ ZipArchive”的未定义方法“ setEncryptionName”

我正在尝试使用PHP 7.2.7创建一个加密的,受密码保护的ZIP文件。但是,我收到以下错误消息:

Attempted to call an undefined method named "setEncryptionName" of class "ZipArchive".
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/zh/ziparchive.setencryptionname.php

如果我删除了,$zip->setEncryptionName()那么一切都可以100%起作用,除了ZIP文件没有密码保护。

我已经完成了Google和论坛搜索,找不到任何遇到过类似问题的人,这可能是因为PHP版本和功能还很新。

php php-zip-archive php-7.2

3
推荐指数
1
解决办法
1574
查看次数

什么会导致取消链接返回'资源暂时不可用'?

我想创建一个.zip存档,将其上传到Amazon S3,然后从服务器中删除创建的.zip.步骤1和2工作正常,但删除步骤返回:

unlink(temp/file.zip): Resource temporarily unavailable

我已经尝试了unset所有相关的变量和资源,但我仍然得到错误.

这是代码:

$zipFile = 'temp/file.zip';

// create the zip archive:
$z = new \ZipArchive();
$z->open($zipFile, \ZipArchive::CREATE);
$z->addEmptyDir('testdirectory');

// add a file
$filename = 'fileName.txt';
$content = 'Hello World';
$z->addFromString('testdirectory/' . $filename, $content);
$z->close();

// upload to S3
$s3 = AWS::createClient('s3');
$result = $s3->putObject(array(
    'Bucket'        =>  'my-bucket-name',
    'Key'           =>  basename($zipFile),
    'SourceFile'    =>  $zipFile
));

// check to see if the file was uploaded
if ($result['@metadata']['statusCode'] == "200") {
    $uploaded = true;
}

// …
Run Code Online (Sandbox Code Playgroud)

php amazon-s3 php-zip-archive

2
推荐指数
1
解决办法
1753
查看次数