zoukankan      html  css  js  c++  java
  • 图片保存本地,上传阿里云,保存该图片 在阿里云的 路径 到 本地数据库

    #清洗用户微信头像
    public function actionAvatar()
    {


    $wechatParams = Yii::$app->params['wechat'];

    $this->wechatParams = $wechatParams[$this->uniacid];

    $app = new Application( $this->wechatParams);

    $client = new Client();

    $oss = ImageStorageService::getInstance(); # 上传OSS 实例化

    $key = 0;

    foreach (UserWechat::find()->where(['>','id','3599'])->each(10) as $userdata){

    if($userdata['openid'] == 'mod') continue; # 去除模拟用户

    $key++;

    $openid = UserWechat::getOpenid($userdata['unionid'],$this->uniacid); #获取微信openid

    if(empty($openid)) continue;

    $user = $app->user->get($openid); #获取该用户的openid

    if(empty($user['headimgurl'])) continue;

    $avatar = $user['headimgurl']; #获取当前用户头像

    if(!empty($userdata->avatar)){

    if(strstr($userdata->avatar,'image-yp.cdn.haiwaiuni.com')) continue;

    }

    $basename = $key.'.png';

    $save_path = Yii::getAlias('@upload').'/avatar/' . $basename;

    $response = $client->request('GET', $avatar, [

    'headers' => [
    'User-Agent' => 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)',
    'Cookie' => 'Hm_lvt_cd8e5937ea4370821f41c707d5643b7f=1541991577; _ga=GA1.3.517707415.1541991577; _gid=GA1.3.1202663854.1541991577; MEIQIA_EXTRA_TRACK_ID=1CrxSfzll6nIoshf1CYSWdkCS5k; bdshare_firstime=1541991792699; MEIQIA_VISIT_ID=1CsHCsNgcZ2eLmTv5IF5XANXfYf; Hm_lpvt_cd8e5937ea4370821f41c707d5643b7f=1542004665; PHPSESSID=e392a14b61e9458ecbd3497cced9e622; _identity=2b178e67cb2eb7fb85559a27711d546f6dc5c4951a90bf2dd5c57c8505f6a0b0a%3A2%3A%7Bi%3A0%3Bs%3A9%3A%22_identity%22%3Bi%3A1%3Bs%3A49%3A%22%5B4988%2C%22uvleuSgB-eFv4ipo2Dg0VlNfzvKvUW2y%22%2C2592000%5D%22%3B%7D',
    ]
    ]);

    $text = $response->getBody()->getContents();

    if(file_put_contents($save_path,$text)) {


    #上传阿里云
    $relativeDir = "images/" . date("Y") . "/" . date("m") . "/";
    $fileName = md5('user_avatar' . time() . rand(0, 999999)) . '.png';

    $remotePath = $relativeDir . $fileName;

    $result = $oss->uploadSingleFromFile($remotePath, $save_path);

    $img = $result['info']['url'];

    #裁剪远程图片
    $oss->cutSingleFromRemote($img, [
    'width' => 300,
    'height' => 300,
    'alisa' => 'small',
    ]);

    $img = str_replace('https://cn-haiwaiuni-com.oss-cn-beijing.aliyuncs.com','https://image-yp.cdn.haiwaiuni.com',$img);

    $userdata->avatar = $img;

    if($userdata->save(false)){
    echo 'ID是'. $userdata->id .'的用户,他的昵称是' .$userdata->nickname. '它的头像'.$userdata->avatar .'保存成功啦!';
    echo " ";
    }else{
    echo '哎呀呀,ID是'. $userdata->id .'的用户,他的昵称是' .$userdata->nickname. '它的头像'.$userdata->avatar .'保存失败啦!';
    echo " ";
    }
    }else{
    echo 'ID是'. $userdata->id .'的用户,他的昵称是' .$userdata->nickname. '它的头像'.$userdata->avatar .'写入文件失败';
    }

    }
    }
  • 相关阅读:
    ES基础(五十五)在私有云与公有云上管理与部署 Elasticsearch 集群
    ES基础(五十四)如何对集群进行容量规划
    ES基础(五十二)Hot & Warm 架构与 Shard Filtering
    ES基础(四十九)集群内部安全通信
    ES基础(四十八)集群身份认证与用户鉴权
    kata + docker run & star
    libcontainer nsexec + unshare + syscall(SYS_setns
    docker createHooks
    mount namespace
    exec.Command("/proc/self/exe", "child")
  • 原文地址:https://www.cnblogs.com/wangshuazi/p/10176223.html
Copyright © 2011-2022 走看看