【问题标题】:PHP ZipArchive Not Working in LaravelPHP ZipArchive 在 Laravel 中不起作用
【发布时间】:2017-03-22 20:22:48
【问题描述】:

如果我在原始 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 中工作吗?

【问题讨论】:

  • well class not found 就是这个意思
  • 这样调用一个类:$zip = new ZipArchive();

标签: php laravel-5 php-zip-archive


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我使用这个和 phpstorm 编辑器告诉我接下来的步骤......(我把这些步骤放在新的答案中,谢谢!!!)
    【解决方案3】:

    在 composer.json 添加一行:

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

    执行:

    composer update
    

    在您的控制器上使用以下行:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      相关资源
      最近更新 更多