php代码远程保存微信头像到本地解决下载时间太长的问题

问题描述:

使用微信api获取微信头像的时候,想将其下载到本地,使用传统的file_get_contents的时候,发现加载时间特别长。

解决代码:

  public static function remote2local($url = '', $keypath = '')//$localpath其实为urlpath
    {
        global $empire, $dbtbpre, $class_r, $public_r, $post, $addon_name, $addon_set, $xppset, $ga;
        if (empty($url)) {
            return false;
        }
        $ta = explode('.', $url);
        //先要对比一下两个ext是否相同
        $ext1 = end($ta);
        $ext1 = trim(strtolower($ext1));
        $ealist = array('jpg', 'jpeg', 'png', 'gif', 'mp4', 'mp3');
        if (!in_array($ext1, $ealist)) {//如果不存在
            $ext1 = 'png';
        }
        if (empty($keypath)) {
            $urlpath = '/upfiles/addon/' . $addon_name . '/remote2local/' . date('Ymd') . '/' . lsk::makeAppRand() . '.' . $ext1;
        } else {
            $keypath = ltrim($keypath, '/');
            $urlpath = '/upfiles/addon/' . $addon_name . '/remote2local/' . $keypath;
        }
        $filepath = LSK_PATH . ltrim($urlpath, '/');
        lsk::mkdirByFilepath($filepath);
        //start
        set_time_limit(0);
        $url = trim($url);
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_ENCODING, "");
        $content = curl_exec($curl);
        curl_close($curl);
        file_put_contents($filepath, $content);
        return $urlpath;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值