PHP下载远程图片并保存到本地方法
博客专区 > Jack088 的博客 > 博客详情
PHP下载远程图片并保存到本地方法
Jack088 发表于1年前
PHP下载远程图片并保存到本地方法
  • 发表于 1年前
  • 阅读 15
  • 收藏 0
  • 点赞 0
  • 评论 0
 /*
     * 上传网络图片
     */
    function GrabImage($url,$filename="") {
		if($url=="") return false;
		
		if($filename=="") {
			$ext=strrchr($url,".");
			if($ext!=".jpeg" && $ext!=".jpg" && $ext!=".png") return false; 
			preg_match('/\/([^\/]+\.[a-z]{3,4})$/i',$url,$matches);
			$image_name = strToLower($matches[1]);
			$filename='data/runtime/images/'.$image_name;
		}else{
			$image_name = $filename;
			$filename='data/runtime/images/'.$filename;
		}
//方法一
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_POST, 0);
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $file_content = curl_exec($ch);
        curl_close($ch);
        $downloaded_file = fopen($filename, 'w');
        fwrite($downloaded_file, $file_content);
        fclose($downloaded_file);
        return $image_name;

//方法二        
//        $src_im = imagecreatefromjpeg($url);
//        $srcW = ImageSX($src_im); //获得图像的宽
//        $srcH = ImageSY($src_im); //获得图像的高
//        $dst_im = ImageCreateTrueColor($srcW,$srcH); //创建新的图像对象
//        imagecopy($dst_im, $src_im, 0, 0, 0, 0, $srcW, $srcH);
//        imagejpeg($dst_im, $filename); //创建缩略图文件
 //       return $image_name;

//方法三
//        ob_start();
//        readfile($url);
//        $img = ob_get_contents();
//        ob_end_clean();
//        $size = strlen($img);
//       $fp2=@fopen($filename, "a");
//       fwrite($fp2,$img);
//        fclose($fp2);
//        return $image_name;
	}

ps: http://www.jb51.net/article/78455.htm http://www.cnblogs.com/mengxiaotian/p/5051579.html http://blog.csdn.net/iefreer/article/details/46930239

共有 人打赏支持
粉丝 41
博文 340
码字总数 56154
×
Jack088
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: