> 백엔드 개발 > PHP 튜토리얼 > app中用thinkphp 如何做一个上传图片 的 接口

app中用thinkphp 如何做一个上传图片 的 接口

WBOY
풀어 주다: 2016-06-06 20:09:42
원래의
1275명이 탐색했습니다.

最近一个app IOS的 用thinkphp写接口 实名认证中 必须要上传一张自己的图片
如何用thinkphp 写上传图片的接口 有没有源码 请注明每步操作 万分感谢!!

回复内容:

最近一个app IOS的 用thinkphp写接口 实名认证中 必须要上传一张自己的图片
如何用thinkphp 写上传图片的接口 有没有源码 请注明每步操作 万分感谢!!

//上传图片方法 可以放在父类以便以后继承直接调用
//两种上传方式一种是file另一种是base64

<code>public function picupload()
{
    if (!IS_POST) {
        die('<form method="post" enctype="multipart/form-data">
            smeta(base64) :<input name="smeta"><br>
            smeta :<input name="smeta" type="file"><br>
        <input type="submit">
        </form>');
    }
    //base64上传方式(主要是为了处理微信不支持 input file)
    $smeta = $_POST['smeta']; 
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $smeta, $result)) {//base64上传
        $data = base64_decode(str_replace($result[1], '', $smeta));
        $dataname = './Uploads/' . uniqid() . '.' . $result[2];
        if (file_put_contents($dataname, $data)) {
            $this->ajaxoutput($dataname); //返回数据结构自行封装
        }else{
             $this->ajaxerror('上传出错');
        }
    }

    //处理file上传 这里是调用thinkphp封装好\Think\Upload这个上传类 可以学习写thinkphp官方这个类是怎么写的
    $config = array(
        'rootPath' => './Uploads/',
        'savePath' => '',
        'maxSize' => 11048576,
        'saveName' => array('uniqid', ''),
        'exts' => array('jpg', 'gif', 'png', 'jpeg'),
        'autoSub' => false,
    );
    $upload = new \Think\Upload($config);//
    $info = $upload->upload();
    //开始上传
    if ($info) {
        //上传成功 
        $first = array_shift($info);
        if (!empty($first['url'])) {
            $url = $first['url'];
        } else {
            $url = C("TMPL_PARSE_STRING.__UPLOAD__") . $first['savename'];
        } 
       $this->ajaxoutput($url);
    } else {
        //上传失败,返回错误
        $this->ajaxerror($upload->getError());
    }

}</code>
로그인 후 복사

app post上来
然后php中$_FILES接收,没有什么特殊的

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿