Heim  >  Artikel  >  Backend-Entwicklung  >  php中使用gd库实现远程图片下载实例_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 09:53:41778Durchsuche

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

   这篇文章主要介绍了php中使用gd库实现远程图片下载实例,本文直接给出实现代码,需要的朋友可以参考下

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

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

header("Content-type:text/html ; charset=utf-8");

 

if (!empty($_POST['submit'])){

$url = $_POST['url'];

$pictureName = $_POST['pictureName'];

$img = getPicture($url,$pictureName);

echo '

<img  src="'.%24img.'" alt="php中使用gd库实现远程图片下载实例_PHP教程" >
';

}

function getPicture($url,$pictureName){

if ($url == "") return false;

//获取图片的扩展名

$info = getimagesize($url);

$mime = $info['mime'];

$type = substr(strrchr($mime,'/'), 1);

//不同的图片类型选择不同的图片生成和保存函数

switch($type){

case 'jpeg':

$img_create_func = 'imagecreatefromjpeg';

$img_save_func = 'imagejpeg';

$new_img_ext = 'jpg';

break;

case 'png':

$img_create_func = 'imagecreatefrompng';

$img_save_func = 'imagepng';

$new_img_ext = 'png';

break;

case 'bmp':

$img_create_func = 'imagecreatefrombmp';

$img_save_func = 'imagebmp';

$new_img_ext = 'bmp';

break;

case 'gif':

$img_create_func = 'imagecreatefromgif';

$img_save_func = 'imagegif';

$new_img_ext = 'gif';

break;

case 'vnd.wap.wbmp':

$img_create_func = 'imagecreatefromwbmp';

$img_save_func = 'imagewbmp';

$new_img_ext = 'bmp';

break;

case 'xbm':

$img_create_func = 'imagecreatefromxbm';

$img_save_func = 'imagexbm';

$new_img_ext = 'xbm';

break;

default:

$img_create_func = 'imagecreatefromjpeg';

$img_save_func = 'imagejpeg';

$new_img_ext = 'jpg';

}

if ($pictureName == ""){

$pictureName = time().".{$new_img_ext}";

}else{

$pictureName = $pictureName.".{$new_img_ext}";

}

$src_im = $img_create_func($url); //由url创建新图片

$img_save_func($src_im, $pictureName); //输出文件到文件

return $pictureName;

}

 

?>

远程url地址:

文件名称:

  运行结果如下图:(图片自动保存在当前文件目录,不明白的可以留言)

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1000114.htmlTechArticlephp中使用gd库实现远程图片下载实例 这篇文章主要介绍了php中使用gd库实现远程图片下载实例,本文直接给出实现代码,需要的朋友可以参考下...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn