我是 Laravel 新手,我在 laravel 10.39.0 上使用 Intervention Image,但出现错误, 未找到“Intervention\Image\Facades\Image”类
这是代码。
这是代码。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Intervention\Image\Facades\Image;
class HomeController extends Controller
{
public function index(){
return view('home');
}
public function test(){
// Open an image file
$img = Image::make('uploads/img1.jpg');
$img->crop(300,300);
$img->save(public_path('uploads/corp_img1.jpg'));
}
}
此行显示错误: $img = Image::make('uploads/img1.jpg'); “干预/图像”:“^3.2”, PHP:PHP 8.2.10-2ubuntu1
如何解决这个问题?
首先检查
intervention/image
是否正确安装,您可以先检查此目录vendor/intervention/image
或composer show intervention/image
。composer dump-autoload
。php artisan cache:clear
,然后重试并检查是否存在问题。
几个小时后,我找到了答案,这段代码可能对其他人有帮助。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
class HomeController extends Controller
{
public function index()
{
return view('home');
}
public function test()
{
// create image manager with desired driver
$manager = new ImageManager(new Driver());
// read image from file system
$image = $manager->read('uploads/image.jpeg');
// Image Crop
$image->crop(500,500);
// insert watermark
$image->place('uploads/water_mark.png');
//Save the file
$image->save(public_path('uploads/crop.jpeg'));
}
}