首页 > Web开发 > 详细

php上传图片

时间:2020-03-30 20:03:45      阅读:93      评论:0      收藏:0      [点我收藏+]

 

 

    /**
     * Notes: 文件上传
     * Created by jessie@seabig.cn
     * DateTime: 2020-02-18 16:17
     */
    public function UploadImg()
    {
        $this->_globals();
        //数据过滤
        if (!$_FILES) {
            die(json_encode(array("status" => "false","code" => "500", "msg" => "上传失败,请上传文件")));
        }
        $savepath = _FILE_PATH;
        $tempFile = $_FILES[file][tmp_name];
        //获取文件
        $file = $_FILES[file];
        //$savepath = _FILE_PATH;
        $tempFile = $file[tmp_name];

        //获取文件名
        $name = substr($file[name], 0, strrpos($file[name], "."));

        //获取文件后缀名
        $ext = strtolower(substr(strrchr($file[name],.),1));

        //定义文件保存路径、递归创建文件夹
        $mkpath = $savepath . "/" . date("Y") . "/" . date("m") . "/" . date("d");

        $this->mkpath($mkpath);

        //生成文件名
        $filesname = date("Y") . "/" . date("m") . "/" . date("d") . "/" . date(His) . strtolower($this->random(16)) . "." . $ext;
        $move = move_uploaded_file($tempFile, $savepath . "/" . $filesname);
        if ($move) {
//            layui富文本编辑器上传图片接口 (返回格式不一样)
            die(json_encode(array("status" => "true","code" => "0", "msg" => "上传成功", "data" => array("src" => /uploads/.$filesname, "title" => $name))));
        } else {
            die(json_encode(array("status" => "false","code" => "500", "msg" => "上传失败")));
        }
    }

    /**
     * 生成随机数字
     *
     * @param int 长度 $length
     * @param int 是否仅限数字 $numeric
     * @return unknown
     */
    private function random($length, $numeric = 0)
    {
        PHP_VERSION < 4.2.0 && mt_srand((double)microtime() * 1000000);
        if ($numeric) {
            $hash = sprintf(%0 . $length . d, mt_rand(0, pow(10, $length) - 1));
        } else {
            $hash = ‘‘;
            $chars = ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz;
            $max = strlen($chars) - 1;
            for ($i = 0; $i < $length; $i++) {
                $hash .= $chars[mt_rand(0, $max)];
            }
        }
        return $hash;
    }


    /**
     *创建多级文件夹 *
     * @param 路径 /data/wwwroot/vhost/abc.seabig.cn/uploads/2002/
     * @param 权限 755/777 $mode
     */
    public function mkpath($path, $mode = 0777)
    {
        $path = str_replace("\\", "_|", $path); //将$path 中的 "\\" 替换为 "_|"
        $path = str_replace("/", "_|", $path);
        $path = str_replace("__", "_|", $path);
        $dirs = explode("_|", $path);
        $path = $dirs[0];
        for ($i = 1; $i < count($dirs); $i++) {
            $path .= "/" . $dirs[$i];
            if (!is_dir($path)) {
                mkdir($path, $mode);
            }
        }
    }

 

php上传图片

原文:https://www.cnblogs.com/beiman/p/12600637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!