PHP post 接口上传图片 [接收ios ||androip 两种接收图片数据流保存图片方式]

14 篇文章 0 订阅
// 保存会员头像
            if ($apiType != 'ios') {                
                $path = 'memberhead'; // 会员头像
                $postName = 'avatar';
                $data = array ();
                $model_MembersPhoto = array ();
                $date = date ( "Ym" );
                $webroot = YiiBase::getPathOfAlias ( 'webroot' ); // 返回程序入口文件所在目录
                $dirname = "/uploads/" . $path . "/" . $date . "/"; // 图片所在文件
                if (! $this->mkdirs ( $webroot . $dirname ))         // 创建图片所在目录
                {
                    $data ['status'] = "0"; // 创建图片保存目录失败
                } else {
                    $filepath = substr ( md5 ( md5 ( $_GET ["type"] . "_" . $memid . uniqid ( mt_rand (), true ) ) ), 2, 16 ); // 生成唯一值
                    $pic_file = CUploadedFile::getInstanceByName ( $postName );
                    if ($pic_file->size < 3 * 1024 * 1024 && $pic_file->size > 3 || 1==1) {
                        $ext = strtolower ( $pic_file->extensionName );
                        $newName = $filepath . '.' . $ext; // 生成文件名
                        if (in_array ( $ext, array ('jpg','gif','jpeg','png') )) {
                            if ($pic_file->saveAs ( $webroot . $dirname . $newName )) {
                                $data ['pstatus'] = '1'; // 图片文件保存成功                                
                                $modelMember ["Members"] ["avatar"] = $dirname . $newName;
                            } else {
                                $data ['pstatus'] = '2'; // 图片文件保存失败
                                $data ['name'] = 'error';
                            }
                        } else {
                            $data ['pstatus'] = '3'; // 图片文格式不对
                            $data ['ext'] = $ext;
                        }
                    } else {
                        $data ['pstatus'] = '4'; // 提示:文件大小不能超过3M 大于 3b
                        $data ['file'] = $pic_file;
                    }
                }
                
            } else {//IOS上传图片
                $date = date ( "Ym" );
                $webroot = YiiBase::getPathOfAlias ( 'webroot' ); // 返回程序入口文件所在目录
                $dirname = "/uploads/memberhead/" . $date . "/"; // 图片所在文件
                if (! $this->mkdirs ( $webroot . $dirname ))                 // 创建图片所在目录
                {
                    $data ['pstatus'] = "6"; // 创建图片保存目录失败
                }
                $filepath = substr ( md5 ( md5 ( $_GET ["type"] . "_" . $memid . uniqid ( mt_rand (), true ) ) ), 2, 16 );
                $newName = $filepath . '.png';
            
                $pic = base64_decode ( $_POST ['pic_2'] );    
                file_put_contents($webroot . $dirname . $newName, $pic);
                //file_put_contents($webroot . $dirname . $filepath . '.txt', $pic);
                $data ['pstatus'] = '1';
                $modelMember ["Members"] ["avatar"] = $dirname . $newName;                
                
            }           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值