php采集远程图片保存到本地

/**
     * 采集远程文件保存到本地
     * @param string $remote 远程文件名
     * @param string $save_dir  保存到本地目录
     * @return string
     */
    public function curl_download($remote, $save_dir)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $remote);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        $file = curl_exec($ch);
        curl_close($ch);

        preg_match('/(\.gif|\.jpeg|\.png|\.jpg|\.bmp)/i', $remote, $img_suffix);
        $img_suffix = isset($img_suffix[0]) ? $img_suffix[0] : '.png';
        $file_name  = $save_dir . md5(microtime()) . $img_suffix;

        $resource = fopen(ROOT_PATH . 'public' . DS . $file_name, 'w');
        $result   = fwrite($resource, $file);
        fclose($resource);
        if($result === false)
        {
            return '';
        }

        unset($file, $result, $resource);

        return DS . $file_name;
    }
	
	/**
     * 获取保存到本地文件夹路径
     * @access protected
     * @return string
     */
    public function save_dir()
    {
        $dir = 'collection' . DS . date('Ymd') . DS;
        if(!file_exists($save_dir = ROOT_PATH . 'public' . DS . $dir))
        {
            if(!@mkdir($save_dir, 0777, true))
            {
                throw new \RuntimeException('创建文件夹失败');
            }
        }
        return $dir;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值