簡體   English   中英

PHP ZipArchive 在 Laravel 中不起作用

[英]PHP ZipArchive Not Working in Laravel

如果我在原始 php 中運行 PHP ZipArchive,它可以完美運行,但是當我嘗試在我的 Laravel 項目中運行它時出現“找不到類”錯誤:

FatalErrorException in WidgetController.php line 40: Class 'App\\Http\\Controllers\\ZipArchive' not found

這是我在 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 中不起作用嗎?

問題解決了。 犯了一個明顯的錯誤:忘記在我的 Laravel 控制器中“使用 ZipArchive”

添加use ZipArchive; 在您的控制器中,這對我有用。

在 composer.json 添加行:

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

執行:

composer update

在您的控制器上使用此行:

use ZipArchive;
[...]

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

    
    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM