PHP ZipArchive在Laravel中无法正常工作

4si2a6ki  于 2022-11-21  发布在  PHP
关注(0)|答案(3)|浏览(150)

如果我在原始的php中运行PHP ZipArchive,它运行得很好,但是当我尝试在Laravel项目中运行它时,得到一个“class not found”错误:
在WidgetController.php的第40行出现致命的错误异常:未找到类“应用程序\Http\控制器\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';
    }
}

下面是我在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';
}
?>

你知道为什么在拉瑞维尔行不通吗?

zqdjd7g9

zqdjd7g91#

问题解决了.犯了一个明显的错误:我忘了在我的Laravel控制器中使用ZipArchive

14ifxucb

14ifxucb2#

在你的控制器中添加use ZipArchive;,这对我来说很有效。

ssgvzors

ssgvzors3#

在composer.json上添加行:

"require": {
  [...]     
  "ext-zip": "*"  /* this line */ 
},

执行:

composer update

在控制器上使用以下行:

use ZipArchive;
[...]

// use this form to instance the object 
$zip = new \ZipArchive();

相关问题