怎么在php中使用gd库对图片进行下载

  介绍

怎么在php中使用gd库对图片进行下载?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

php代码如下:

& lt; php ?   头(“内容类型:文本/html ;, charset=utf-8");   if (!空($ _POST[& # 39;提交# 39;])){=,美元url  $ _POST [& # 39; url # 39;];   ,//为了获取相对路径的图片所做的操作   ,url_fields 美元;=,parse_url ($ url);   美元,美元main_url =, url_fields[& # 39;主机# 39;];   ,base_url 美元;=,substr ($ url, 0,大小写敏感($ url, & # 39;/& # 39;) + 1);   ,//获取网页内容   ,//设置代理服务器   ,opts 美元;=,阵列(& # 39;http # 39;=祝辞数组(& # 39;request_fulluri& # 39;=祝辞真的));   ,context 美元;=,stream_context_create(选择);   ,content 美元;=,file_get_contents ($ url,假的,$上下文);   ,//匹配img标签,将所有匹配字符串保存到数美元组比赛=,美元reg “/& lt; img。* ? src=https://www.yisu.com/?. * ?) \”。* ?>/我”;   preg_match_all (reg,内容,美元$ matches);   $ count=count ($ matches [0]);   ($ i=0;我<美元计数;$我+ +){/*将所有图片的url转换为小写   * $ matches [1] [$ i]=函数($ matches [1] [$ i]);   *///如果图片为相对路径就转化为全路径   如果(!大小写敏感(a。美元$ matches[1][我],“http”)) {//因为‘/堑?个位置   如果(大小写敏感(a。美元$ matches[1][我],'/')){   $ matches [1] [$ i]=' http://'。main_url美元。$ matches[1][我]美元;   其他}{   美元$ matches[1][我]=$ base_url。$ matches[1][我]美元;   }   }   }//过滤重复的图片   img_arr=array_unique美元($ matches [1]);//实例化图片下载类   美元getImg=new DownImage ();   $ url_count=count ($ img_arr);   ($ i=0;我来源img_arr[我]美元;   $ getImg -> save_address=啊?图片/?   $=$ getImg文件->下载();   }   回声”下载完成!哈哈,简单吧!”;   }   类DownImage {   公共来源;美元//远程图片URL   公共save_address美元;//保存本地地址   公共set_extension美元;//设置图片扩展名   公共美元质量;//图片的质量(0 ~ 100100最佳,默认75左右)//下载方法(选用GD库图片下载)   公共函数下载(){//获取远程图片信息   信息=@getimagesize美元($ this ->来源);//获取图片扩展名   mime=美元信息(“哑剧”);   $ type=substr (strrchr mime美元,“/?,1);//不同的图片类型选择不同的图片生成和保存函数   开关(类型){   例“jpeg”:   美元img_create_func=癷magecreatefromjpeg”;   美元img_save_func=癷magejpeg”;   美元new_img_ext=癹pg”;   image_quality=收取美元($ this ->质量)?$ this ->质量:100;   打破;   例“png”:   美元img_create_func=癷magecreatefrompng”;   美元img_save_func=癷magepng”;   美元new_img_ext=皃ng”;   打破;   例“bmp”:   美元img_create_func=癷magecreatefrombmp”;   美元img_save_func=癷magebmp”;   美元new_img_ext=癰mp”;   打破;   例“gif”:   美元img_create_func=癷magecreatefromgif”;   美元img_save_func=癷magegif”;   美元new_img_ext=癵if”;   打破;   例“vnd.wap.wbmp”:   美元img_create_func=癷magecreatefromwbmp”;   美元img_save_func=癷magewbmp”;   美元new_img_ext=癰mp”;   打破;   例“xbm”:   美元img_create_func=癷magecreatefromxbm”;   美元img_save_func=癷magexbm”;   美元new_img_ext=皒bm”;   打破;   默认值:   美元img_create_func=癷magecreatefromjpeg”;   美元img_save_func=癷magejpeg”;   美元new_img_ext=癹pg”;   }//根据是否设置扩展名来合成本地文件名   如果收取($ this -> set_extension)) {   $ ext=strrchr $ this ->来源,“。”);   $ strlen=strlen ($ ext);   新名称=美元:substr ($ this ->来源,0,- strlen美元))。”。”。new_img_ext美元;   其他}{   新名称=basename美元($ this ->来源);   }//生成本地文件路径   save_address=$ this -> save_address。美元新名称;   img=@ img_create_func美元($ this ->来源);   如果(收取(image_quality美元)){   save_img=@ img_save_func美元($ img save_address美元image_quality美元);   其他}{   save_img=@ img_save_func美元(img, save_address美元);   }   返回save_img美元;   }   }   ?>   <形式方法=" POST " action=" ">   远程url地址:   

怎么在php中使用gd库对图片进行下载