欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-20 17:36:28
...
最近一个app IOS的 用thinkphp写接口 实名认证中 必须要上传一张自己的图片
如何用thinkphp 写上传图片的接口 有没有源码 请注明每步操作 万分感谢!!

回复内容:

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

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

public function picupload()
{
    if (!IS_POST) {
        die('
smeta(base64) :
smeta :
'); } //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()); } }

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

相关标签: php