ホームページ  >  記事  >  バックエンド開発  >  PHP gd ライブラリはリモートイメージのダウンロードを実装します

PHP gd ライブラリはリモートイメージのダウンロードを実装します

WBOY
WBOYオリジナル
2016-07-25 08:55:12703ブラウズ
  1. /**
  2. * リモート画像ダウンロード
  3. * by bbs.it-home.org
  4. */
  5. header("Content-type:text/html ; charset=utf-8");
  6. if (!empty($_POST['submit '])){
  7. $url = $_POST['url'];
  8. $pictureName = $_POST['pictureName'];
  9. $img = getPicture($url,$pictureName);
  10. echo '
    < ;img src="'.$img.'">
    ';
  11. }
  12. function getPicture($url,$pictureName){
  13. if ($url == "") return false;
  14. //画像の拡張子を取得します
  15. $info = getimagesize($url);
  16. $mime = $info['mime'];
  17. $type = substr(strrchr($mime,'/'), 1);
  18. //異なる 画像タイプに対して異なる画像生成および保存関数を選択します
  19. switch($type){
  20. case 'jpeg':
  21. $img_create_func = 'imagecreatefromjpeg';
  22. $img_save_func = 'imagejpeg';
  23. $new_img_ext = 'jpg';
  24. break;
  25. ケース 'png':
  26. $ img_create_func = 'migmecreatefrompng';
  27. $ img_save_func = 'imagepng'; $ img_save_func = 'imagebmp';
  28. $new_img_ext = 'bmp';
  29. ブレーク;
  30. ケース 'gif':
  31. $img_create_func = 'imagecreatefromgif';
  32. $img_save_func = 'imagegif';
  33. $new_img_ext = 'gif';
  34. ブレーク;
  35. case 'vnd.wap.wbmp':
  36. $img_create_func = 'imagecreatefromwbmp';
  37. $img_save_func = 'imagewbmp';
  38. $new_img_ext = 'bmp';
  39. Break;
  40. case 'xbm':
  41. $img_create_func = 'image xbmから作成' ;
  42. $img_save_func = 'imagexbm';
  43. $new_img_ext = 'xbm';
  44. ブレーク;
  45. デフォルト:
  46. $img_create_func = 'imagecreatefromjpeg';
  47. $img_save_func = 'imagejpeg';
  48. $new_img_ext = 'jpg';
  49. }
  50. if ($pictureName == ""){
  51. $pictureName = time().".{$new_img_ext}";
  52. }else{
  53. $pictureName = $pictureName.".{$new_img_ext}";
  54. }
  55. $ src_im +
  56. 2. Web コンテンツ部分
  57. リモート URL アドレス:
  58. ファイル名:
コードをコピーします

実行結果は次のとおりです: (画像は現在のファイルディレクトリに自動的に保存されます)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。