首页 > Web开发 > 详细

处理post上传的文件;并返回路径

时间:2019-08-12 15:49:37      阅读:89      评论:0      收藏:0      [点我收藏+]
/**
 * 处理post上传的文件;并返回路径
 * @param  string $path    字符串 保存文件路径示例: /Upload/image/
 * @param  string $format  文件格式限制
 * @param  string $maxSize 允许的上传文件最大值 52428800
 * @return array           返回ajax的json格式数据
 */
function post_upload($path=‘file‘,$format=‘empty‘,$maxSize=‘52428800‘){
    ini_set(‘max_execution_time‘, ‘0‘);
    // 去除两边的/
    $path=trim($path,‘/‘);
    // 添加Upload根目录
    $path=strtolower(substr($path, 0,6))===‘upload‘ ? ucfirst($path) : ‘Upload/‘.$path;
    // 上传文件类型控制
    $ext_arr= array(
            ‘image‘ => array(‘gif‘, ‘jpg‘, ‘jpeg‘, ‘png‘, ‘bmp‘),
            ‘photo‘ => array(‘jpg‘, ‘jpeg‘, ‘png‘),
            ‘flash‘ => array(‘swf‘, ‘flv‘),
            ‘media‘ => array(‘swf‘, ‘flv‘, ‘mp3‘, ‘wav‘, ‘wma‘, ‘wmv‘, ‘mid‘, ‘avi‘, ‘mpg‘, ‘asf‘, ‘rm‘, ‘rmvb‘),
            ‘file‘ => array(‘doc‘, ‘docx‘, ‘xls‘, ‘xlsx‘, ‘ppt‘, ‘htm‘, ‘html‘, ‘txt‘, ‘zip‘, ‘rar‘, ‘gz‘, ‘bz2‘,‘pdf‘)
        );
    if(!empty($_FILES)){
        // 上传文件配置
        $config=array(
                ‘maxSize‘   =>  $maxSize,       //   上传文件最大为50M
                ‘rootPath‘  =>  ‘./‘,           //文件上传保存的根路径
                ‘savePath‘  =>  ‘./‘.$path.‘/‘,         //文件上传的保存路径(相对于根路径)
                ‘saveName‘  =>  array(‘uniqid‘,‘‘),     //上传文件的保存规则,支持数组和字符串方式定义
                ‘autoSub‘   =>  true,                   //  自动使用子目录保存上传文件 默认为true
                ‘exts‘    =>    isset($ext_arr[$format])?$ext_arr[$format]:‘‘,
            );
        // 实例化上传
        $upload=new \Think\Upload($config);
        // 调用上传方法
        $info=$upload->upload();
        $data=array();
        if(!$info){
            // 返回错误信息
            $error=$upload->getError();
            $data[‘error_info‘]=$error;
            return $data;
        }else{
            // 返回成功信息
            foreach($info as $file){
                $data[‘name‘]=trim($file[‘savepath‘].$file[‘savename‘],‘.‘);
                return $data;
            }               
        }
    }
}

 

处理post上传的文件;并返回路径

原文:https://www.cnblogs.com/blogpro/p/11340403.html

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