app中用thinkphp 如何做一个上传图片 的 接口
高洛峰
高洛峰 2017-04-10 17:32:08
[PHP讨论组]

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
迷茫

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

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());
    }

}
PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号