图片文件上传到服务器

客户很抠门,OSS也不想买;只能搞个图片上传到服务器;因为通过方法上传的,所以没有经过svn版本控制;svn代码下载中是无法获取到的;方法封装如下 :

protected function uploadFile()
    {
        //表单上传
        if (!is_uploaded_file($_FILES['file']['tmp_name'])){
            return array('code'=>1,'msg'=>'上传内容为空');
        }
        $allow_type = array('image/gif', 'image/gif','image/jpg', 'image/jpeg', 'image/png', 'image/bmp');
        if (!isset($_FILES['file']['type']) || !in_array(strtolower($_FILES['file']['type']),$allow_type)){
            return array('code'=>1,'msg'=>'上传类型不合法,'.$_FILES['file']['type']);
        }
        if ($_FILES['file']['error'] > 0 || $_FILES['file']['size'] > 1024 * 1024 * 5){
            return array('code'=>1,'msg'=>'图片错误或者超过5M大小');
        }
//        if (empty($this->data['file_dir'])){
//            return ReturnError('上传路径错误');
//        }
        //$oss_path = SAVE_IMG_LARGER.'/'.trim($this->data['file_dir']).'/'.md5($_FILES['file']['name']).'.png';
       //此处要开启服务器中larger这个文件的777权限  该定义的常量就定义,完事了
        $picurl = $this->upload_pic($_FILES['file'],ROOT_DIR.'/public/index/source/upload/larger/',WEBURL.'source/upload/larger/');
        if(!empty($picurl)){
            return array('code'=>0,'msg'=>'上传成功','file'=>$picurl);
        }
        return array('code'=>1,'msg'=>'上传失败');
        //return $this->saveToOss($_FILES['file']['tmp_name'],$oss_path);
    }

 

 

//上传图片
public function upload_pic($files,$tosrc,$web)
{
    //支持的图片类型
    $imageArray = array('image/gif','image/gif', 'image/jpeg', 'image/png', 'image/bmp');
    if (is_uploaded_file($files['tmp_name']))
    {
        if($files['error']== 0 &&
            $files['size'] > 0 &&
            $files['size'] < 100 * 1024 * 1024)
        {
            $extArray = explode('.',$files['name']);
            $fileExt = $extArray[count($extArray) -1];
            $filename = md5(time()) .rand(11,99). '.' . $fileExt;
            //$filename此处随机文件名
            if(move_uploaded_file($files['tmp_name'], $tosrc.$filename))
            {
                //成功,返回完整的图片地址
                return  $web.$filename;
            }
            return false;
        }
        return false;
    }
    return false;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值