为了账号安全,请及时绑定邮箱和手机立即绑定

php gd库实现远程图片下载功能

标签:
PHP

<?php
header("Content-type:text/html ; charset=utf-8");
 
if (!empty($_POST['submit'])){
 $url = $_POST['url'];
 $pictureName = $_POST['pictureName'];
 $img = getPicture($url,$pictureName);
 echo '<pre><img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="'.$img.'"></pre>';
 }
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;
}
 
?>
<form method="POST" action="">
远程url地址:<input type="text" name="url" size=20 /><br />
文件名称:<input type="text" name="pictureName" size=20 />
<input type="submit" name="submit" value="下载" />
</form>

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消