首页 > 后端开发 > php教程 > app中用thinkphp 如何做一个上传图片 的 接口

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

WBOY
发布: 2016-06-06 20:09:42
原创
1273 人浏览过

最近一个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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板