关于tp5.1中common.php用法

只需要在common.php文件里写好方法,在其他地方可以直接使用这个方法
下面是一个文件上传的示例:
common.php文件:

<?php
/***
 * @param $files  //需要上传的文件
 * @param $path   // 文件存储的路径
 * @param $imagesExt // 文件类型
 * @return string
 */
function uploadFile($files, $path ,$fileType){
    // 判断错误号
    if ($files['error'] == 00) {
        $ext = strtolower(pathinfo($files['name'],PATHINFO_EXTENSION));
        // 判断文件类型
        if (!in_array($ext,$fileType)){
            return "非法文件类型";
        }
        // 判断是否存在上传到的目录
        if (!is_dir($path)){
            mkdir($path,0777,true);
        }
        // 生成唯一的文件名
        $fileName = md5(uniqid(microtime(true),true)).'.'.$ext;
        // 将文件名拼接到指定的目录下
        $destName = $path."/".$fileName;
        // 进行文件移动
        if (!move_uploaded_file($files['tmp_name'],$destName)){
            return "文件上传失败!";
        }
        return $destName;
    } else {
        // 根据错误号返回提示信息
        switch ($files['error']) {
            case 1:
                return "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值";
                break;
            case 2:
                return "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";
                break;
            case 3:
                return "文件只有部分被上传";
                break;
            case 4:
                return "没有文件被上传";
                break;
            case 6:
                return "找不到临时文件夹";
                break;
            case 7:
                return "系统错误";
                break;
        }
    }
}

控制器Case.php:

<?php
namespace app\home\controller;

use think\Controller;
use think\Db;
use think\Request;

class Case extends Controller{
	public function case_adds(Request $request){
        $post = $request->post();
        $file = $_FILES;
        $videopath = "./uploads/video";//上传视频用的
        $imagepath = "./uploads/images";//上传图片用的
        $imageExt = ['mp4'];//上传视频用的
        $imageExt = ['jpg', 'jpeg', 'gif', 'png'];//上传图片用的
        $coverUrl = uploadFile($file['cover'],$imagepath,$imageExt);
        //获取到的图片或视频上传后的地址
        // 将获取到的数据插入数据库
        $data = [
            'name' => $post['name'],
            'cover' => $coverUrl,
        ];
        $res = Db::name('case')->insert($data);
        if ($res){
            return $this->success("新增成功",'/home/case');
        }else{
            return $this->error("案例新增失败");
        }
    }
 }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值