代码如上,原图是可以打开的,但下载到本地就损坏了。
试过header加文件类型,PHP编码也是utf-8,都没用。
加ob_flush()活ob_clean()都没用。
换成fopen函数也是损坏。
在此求助各位大神,非常感谢!!
补充:用这个也是损坏的http://segmentfault.com/q/1010000000156959
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
原因很简单,图片被gzip了。
用file_get_contents("compress.zlib://".$url);
应该是对方的服务器做了 判断 用file_get_contents() 获得的数据是有误的
测试 使用curl是可以获取的
写一个自定义函数
然后用curl_get_contents 代替file_get_contents 就可以了
使用十六进制编辑器打开下载的图片查看文件头
casperjs表示你们上面回答的问题太复杂了,万一别人加个header判断就又挂了
感谢各位的回答,每个代码我都测试了,在本地还是坏的。
应该是因为贴图库某些服务器的问题,或者是我本地虚拟机的问题。
那个网站是默认全部开放外链,应该没有盗链问题,准备换个服务器试试。
总之谢谢三位回答,采纳了第一位的答案,辛苦各位!