ホームページ > バックエンド開発 > PHPチュートリアル > app中用thinkphp 如何做一个上传图片 的 接口

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

WBOY
リリース: 2016-06-06 20:09:42
オリジナル
1279 人が閲覧しました

最近一个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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート