Home > Article > Backend Development > Example of remote image download using gd library in PHP_PHP tutorial
This article mainly introduces an example of remote image download using gd library in php. This article directly gives the implementation code, which is required Friends can refer to it
Because today I want to write a class for remote image downloading, I warmed up in advance and wrote a php gd library to implement the remote image download function. Of course, curl implementation is better. The php gd library implements the remote image download function mainly using two functions of the gd library. ImageCreateFromXXX() is used to generate image functions and ImageXXX functions.
?
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="'.$img.'">'; } function getPicture($url,$pictureName){ if ($url == "") return false; //Get the extension of the image $info = getimagesize($url); $mime = $info['mime']; $type = substr(strrchr($mime,'/'), 1); //Select different image generation and saving functions for different image types 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); //Create a new image from url $img_save_func($src_im, $pictureName); //Output file to file return $pictureName; }
?> |
The running result is as follows: (The picture is automatically saved in the current file directory, if you don’t understand, you can leave a message)