[英]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.