当前位置:首页 > PHP教程 > php图像处理 > 列表

php中使用gd库实现远程图片下载实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-26 16:27:09 浏览: 评论:0 

因为今天想写个远程下载图片的类,提前热身写了个php gd库实现远程图片下载功能,当然curl实现更好,php gd库实现远程图片下载功能主要使用gd库的两个函数ImageCreateFromXXX()用于生成图片函数和ImageXXX函数,XXX表示不同图片的扩展名,所以你要想办法获取远程图片的扩展名了,附上php代码如下:

  1. <?php 
  2. header("Content-type:text/html ; charset=utf-8"); 
  3.    
  4. if (!emptyempty($_POST['submit'])){ 
  5.  $url = $_POST['url']; 
  6.  $pictureName = $_POST['pictureName']; 
  7.  $img = getPicture($url,$pictureName); 
  8.  echo '<pre><img src="'.$img.'"></pre>'
  9.  } 
  10. function getPicture($url,$pictureName){ 
  11.  if ($url == ""return false; 
  12.  //获取图片的扩展名 
  13.  $info = getimagesize($url); 
  14.  $mime = $info['mime']; 
  15.  $type = substr(strrchr($mime,'/'), 1); 
  16.  //不同的图片类型选择不同的图片生成和保存函数 
  17.  switch($type){ 
  18.  case 'jpeg'
  19.   $img_create_func = 'imagecreatefromjpeg'
  20.   $img_save_func = 'imagejpeg'
  21.   $new_img_ext = 'jpg'
  22.   break
  23.  case 'png'
  24.   $img_create_func = 'imagecreatefrompng'
  25.   $img_save_func = 'imagepng'
  26.   $new_img_ext = 'png'
  27.   break
  28.  case 'bmp'
  29.   $img_create_func = 'imagecreatefrombmp'
  30.   $img_save_func = 'imagebmp'
  31.   $new_img_ext = 'bmp'
  32.   break
  33.  case 'gif'
  34.   $img_create_func = 'imagecreatefromgif'
  35.   $img_save_func = 'imagegif'
  36.   $new_img_ext = 'gif'
  37.   break
  38.  case 'vnd.wap.wbmp'
  39.   $img_create_func = 'imagecreatefromwbmp'
  40.   $img_save_func = 'imagewbmp'
  41.   $new_img_ext = 'bmp'
  42.   break
  43.  case 'xbm'
  44.   $img_create_func = 'imagecreatefromxbm'
  45.   $img_save_func = 'imagexbm'
  46.   $new_img_ext = 'xbm'
  47.   break
  48.  default
  49.   $img_create_func = 'imagecreatefromjpeg'
  50.   $img_save_func = 'imagejpeg'
  51.   $new_img_ext = 'jpg';    
  52.  } 
  53.  if ($pictureName == ""){ 
  54.  $pictureName = time().".{$new_img_ext}"
  55.  }else
  56.  $pictureName = $pictureName.".{$new_img_ext}"
  57.  } 
  58.  $src_im = $img_create_func($url); //由url创建新图片 
  59.  $img_save_func($src_im$pictureName); //输出文件到文件 
  60.  return $pictureName
  61.    
  62. ?> 
  63. <form method="POST" action=""
  64. 远程url地址:<input type="text" name="url" size=20 /><br /> 
  65. 文件名称:<input type="text" name="pictureName" size=20 /> 
  66. <input type="submit" name="submit" value="下载" /> 
  67. </form>

Tags: gd库 php远程图片下载

分享到: