> php教程 > PHP源码 > 通过base64 上传文件 - 开源中国社区

通过base64 上传文件 - 开源中国社区

PHP中文网
풀어 주다: 2016-05-20 12:56:30
원래의
1834명이 탐색했습니다.

这里的图片路径用的相对路径,不建议这样,最好用dirname(__DIR__)获取到路径后用realpath()函数获取绝对路径。

/**
 * base64图片上传
 * @param $base64_img
 * @return array
 */
private static function img_upload($base64_img){
    $base64_img = trim($base64_img);
    $up_dir = '../../../upload/images/interface/';
 
    if(!file_exists($up_dir)){
        mkdir($up_dir,0777);
    }
 
    if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_img, $result)){
        $type = $result[2];
        if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){
            $new_file = $up_dir.date('YmdHis_').method::getRandChar().'.'.$type;
            if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)))){
                $img_path = str_replace('../../..', '', $new_file);
                return array('code' => 1, 'msg' => "图片上传成功", 'url' => $img_path);
            }
            return array('code' => 2, 'msg' => "图片上传失败");
        }
        //文件类型错误
        return array('code' => 4, 'msg' => "文件类型错误");
    }
    //文件错误
    return array('code' => 3, 'msg' => "文件错误");
}
로그인 후 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿