首页后端开发JAVAThinkPHP-图片上传和裁剪

ThinkPHP-图片上传和裁剪

时间2023-07-06 05:57:02发布访客分类JAVA浏览1200
导读:一、图片上传图片上传是指将本地计算机中的图片传输到服务器上。在 ThinkPHP 中,我们可以使用 PHP 自带的 $_FILES 变量来实现图片上传。具体步骤如下:在前端页面中添加一个图片上传的表单,例如:<form action=...

一、图片上传

图片上传是指将本地计算机中的图片传输到服务器上。在 ThinkPHP 中,我们可以使用 PHP 自带的 $_FILES 变量来实现图片上传。具体步骤如下:

在前端页面中添加一个图片上传的表单,例如:

form action="/index.php/Upload/upload" method="post" enctype="multipart/form-data">
    
    input type="file" name="image">
    
    input type="submit" value="上传">
    
/form>

在后端控制器中编写图片上传的处理函数,例如:

public function upload()
{
    
    $file = request()->
    file('image');
    
    $info = $file->
    validate(['size'=>
    2048000,'ext'=>
    'jpg,png,gif'])->
    move( './uploads');

    if ($info) {
    
        // 文件上传成功,返回文件路径
        return $info->
    getSaveName();

    }
 else {
    
        // 文件上传失败,返回错误信息
        return $file->
    getError();

    }

}
    

在上述代码中,我们首先使用 request() 函数获取图片对象 $file,然后使用 validate() 函数对图片进行验证,包括图片大小和扩展名的验证,最后使用 move() 函数将图片保存到指定目录下。

二、图片裁剪

图片裁剪是指将图片按照指定大小进行裁剪。在 ThinkPHP 中,我们可以使用 PHP 自带的 GD 库来实现图片裁剪功能。具体步骤如下:

安装 GD 库,例如:

sudo apt-get install php-gd

使用 GD 库打开图片,例如:

$image = imagecreatefromjpeg('./uploads/test.jpg');
    

在上述代码中,我们使用 imagecreatefromjpeg() 函数打开 JPEG 格式的图片,也可以使用 imagecreatefrompng() 或 imagecreatefromgif() 函数打开 PNG 格式和 GIF 格式的图片。

裁剪图片,例如:

$cropped_image = imagecrop($image, ['x'=>
    10, 'y'=>
    10, 'width'=>
    100, 'height'=>
    100]);
    

在上述代码中,我们使用 imagecrop() 函数对图片进行裁剪,其中 ['x'=> 10, 'y'=> 10, 'width'=> 100, 'height'=> 100] 表示裁剪的起始位置和大小。

保存裁剪后的图片,例如:

imagejpeg($cropped_image, './uploads/test_crop.jpg');
    

在上述代码中,我们使用 imagejpeg() 函数将裁剪后的图片保存到指定路径下,也可以使用 imagepng() 或 imagegif() 函数保存 PNG 格式和 GIF 格式的图片。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

thinkphp

若转载请注明出处: ThinkPHP-图片上传和裁剪
本文地址: https://pptw.com/jishu/291369.html
ThinkPHP-日志记录和查看(一) ThinkPHP-Cookie 的使用和配置(二)

游客 回复需填写必要信息