首頁 後端開發 php教程 php gd庫實現遠端圖片的下載

php gd庫實現遠端圖片的下載

Jul 25, 2016 am 08:55 AM

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

2,网页内容部分

  1. <form method="POST" action="">
  2. 远程url地址:<input type="text" name="url" size=20 /><br />
  3. 文件名称:<input type="text" name="pictureName" size=20 />
  4. <input type="submit" name="submit" value="下载" />
  5. </form>
复制代码

运行结果如下图:(图片自动保存在当前文件目录) php gd库实现远程图片下载



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

11個最佳PHP URL縮短腳本(免費和高級) 11個最佳PHP URL縮短腳本(免費和高級) Mar 03, 2025 am 10:49 AM

11個最佳PHP URL縮短腳本(免費和高級)

Instagram API簡介 Instagram API簡介 Mar 02, 2025 am 09:32 AM

Instagram API簡介

在Laravel中使用Flash會話數據 在Laravel中使用Flash會話數據 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash會話數據

構建具有Laravel後端的React應用程序:第2部分,React 構建具有Laravel後端的React應用程序:第2部分,React Mar 04, 2025 am 09:33 AM

構建具有Laravel後端的React應用程序:第2部分,React

簡化的HTTP響應在Laravel測試中模擬了 簡化的HTTP響應在Laravel測試中模擬了 Mar 12, 2025 pm 05:09 PM

簡化的HTTP響應在Laravel測試中模擬了

php中的捲曲:如何在REST API中使用PHP捲曲擴展 php中的捲曲:如何在REST API中使用PHP捲曲擴展 Mar 14, 2025 am 11:42 AM

php中的捲曲:如何在REST API中使用PHP捲曲擴展

在Codecanyon上的12個最佳PHP聊天腳本 在Codecanyon上的12個最佳PHP聊天腳本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12個最佳PHP聊天腳本

宣布 2025 年 PHP 形勢調查 宣布 2025 年 PHP 形勢調查 Mar 03, 2025 pm 04:20 PM

宣布 2025 年 PHP 形勢調查

See all articles