4

如果我在原始 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';
    }
}

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

知道为什么它在 laravel 中不起作用吗?

4

3 回答 3

15

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

于 2016-11-09T04:00:54.680 回答
4

添加use ZipArchive;您的控制器,这对我有用。

于 2021-01-01T10:29:49.130 回答
0

On composer.json add line:

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

Execute:

composer update

On your controller use this lines:

use ZipArchive;
[...]

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

    
    
于 2021-08-02T20:57:15.220 回答