PHP高效下载图片保存到本地

 PHP如何怎么样高效下载图片保存到本地? 直接上代码:

/**
 * 下载图片,保存到本地文件
 * 
 * @param string $url
 * @param string $saveFile
 * @return mixed
 */
function xiazai($url, $saveFile) {
    $parse = parse_url($url);
    if (!isset($parse['host'])) {
        return false;
    }

    $file = SAVE_PATH . $saveFile;
    echo 'Saving ', $file, PHP_EOL;

    mkdirs( dirname($file) );
    $ip = genRandIp();
    $fp = fopen($file, 'wb');

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'CLIENT-IP:' . $ip,
        'X-FORWARDED-FOR:' . $ip,
        'User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3100.0 Safari/537.36',
        'Host:' . $parse['host'],
    ));
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 180);
    $res = curl_exec($ch);
    curl_close($ch);

    fclose($fp);

    // 下载失败,则删除空文件
    if (filesize($file) <= 10) {
        @unlink($file);
        return false;
    }

    return $res;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值