温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

远程下载图片,并且生产正确的图片格式

发布时间:2020-07-28 21:28:56 来源:网络 阅读:287 作者:黑羽513149 栏目:web开发

昨天项目里面,远程下载图片,并且生成图片,但是图片生成了,电脑的图片软件也能打开,但是去合成二维码的时候,一直报错,说文件不是正确的png格式,通过ps软件打开,显示文件损坏,最后发现


错误代码如下:

$filename = "temp.png";
$img_url = "http://img01.yingxiong.com/M00/01/B0/CsggAlimbkeECUQuAAAAAHwKdM4125.JPG";
file_put_contents($filename,file_get_contents($img_url));


电脑其他图片软件容错比较好,图片能打开,但是文件已经损坏,php图片处理函数去处理会报错



代码更改后代码如下


$filename = "temp.png";
$img_url = "http://img01.yingxiong.com/M00/01/B0/CsggAlimbkeECUQuAAAAAHwKdM4125.JPG";
MakeImg($filename,$img_url);

/**
* @param $filename 要生成的图片名称
* @param $img_url 下载图的地址
* @param $img_type 想要的图片类型
*/
function MakeImg($filename,$img_url,$img_type="png") {
   $f_extension = strtolower(pathinfo($img_url,PATHINFO_EXTENSION));//文件的后缀名,获取url
   ($f_extension=="jpg")&&$f_extension = "jpeg";
   $res = call_user_func('p_w_picpathcreatefrom'.$f_extension,"./1.jpg");
   return call_user_func('p_w_picpath'.$img_type,$res,$filename);

}

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI