【TP5.1】图片上传

简介: 【TP5.1】图片上传

author:咔咔

wechat:fangkangfk

图片上传是一个系统必须也是很重要的功能,下来咱们实现一下,先来一个简单的,但是不是很完美的

前台代码

屏幕快照 2022-05-12 下午1.17.33.png

屏幕快照 2022-05-12 下午1.17.47.png

屏幕快照 2022-05-12 下午1.19.13.png屏幕快照 2022-05-12 下午1.19.22.png屏幕快照 2022-05-12 下午1.19.30.png

<?php
namespace data\util;
class Upload
{
    /**
     * @var 文件信息think\file这个类
     */
    private $file;
    /**
     * @var 上传图片的目录
     */
    private $path;
    /**
     * 上传文件规则
     */
    private $validate =[
        'size' => 500000,
        'ext'  => 'jpg,png,gif,jpeg',
    ];
    /**
     * 文件上传
     *
     * @param file think\File
     * @path  上传的目录  upload\goods
     * @return array
     */
    public function move($file,$path)
    {
        $this->file = $file;
        // 获取上传的文件名
        $fileName = $this->getFileName($path);
        // 文件保存的地址
        $save = $this->getFilePath();
        // 判断保存的目录是否存在
        if(!file_exists($save)){
            mkdir($save,777,true);
        }
        // 文件保存后的名字加类型
        $image = $fileName['saveName'].'.'.$fileName['fileSuffix'];
        // 开始上传  参数一:上传路径       参数二:文件名
        $info = $file->validata($this->validate)->move($save,$image);
        // 获取上传后的文件名
        $this->path = $save.'.'.$image;
        return (info) ? true : false;
    }
    /**
     * 配置保存路径
     *
     * @return array
     */
    public function getFilePath($path)
    {
        return ROOT.'/'.$path;
    }
    /**
     * 获取上传文件的信息  名字,类型,类型
     *
     * @return array
     */
    public function getFileName()
    {
        // 获取文件信息
        $name = $this->file->getInfo('name');
        // 问件名1.jpg   所以需要转数组获取
        $fileName = explode('.',$name);
        return [
            // 文件名
            'formerlyName' => $fileName[0],
            // 保存后的文件名
            'saveName' => $fileName[0].time(),
            // 文件后缀
            'fileSuffix' => $fileName[1]
        ];
    }
    /**
     * 保存后的文件路径
     *
     * @return array
     */
    public function functionName($flag = true)
    {
        return ($flag) ? $this->path : ROOT.'/'.$this->path;
    }
}
相关文章
|
5月前
|
安全
tp5使用ueditor请求后台配置项http错误,上传功能将不能正常使用!
tp5使用ueditor请求后台配置项http错误,上传功能将不能正常使用!
390 0
|
JavaScript 前端开发
【Layui】tp5上传图片
【Layui】tp5上传图片
185 0
【Layui】tp5上传图片
|
PHP 计算机视觉 开发者
tp5(thinkphp5)验证码不显示问题解决
tp5(thinkphp5)验证码不显示问题解决
726 0
tp5(thinkphp5)验证码不显示问题解决
|
存储 编解码 前端开发
input上传图片并同步获取图片分辨率
🎈作为一名前端开发,页面交互少不了图片上传,但有时候我们需要对上传图片做一些限制,如尺寸要求和像素分辨率要求,所以这里我们一起来看看前端上传图片如何获取图片的分辨率。
408 0
【TP5.1】缩略图的生成(继上篇文章图片上传)
【TP5.1】缩略图的生成(继上篇文章图片上传)
176 0
【TP5.1】缩略图的生成(继上篇文章图片上传)
【TP5.1】商品生成二维码
【TP5.1】商品生成二维码
98 0
【TP5.1】商品生成二维码
【TP5】对于error方法跳转问题
【TP5】对于error方法跳转问题
203 0
【TP5】对于error方法跳转问题