今年初开始使用《用PHP绘图功能在网站上输出图片》,在一些网站上输出直观的图片,自己感觉效果还是不错的。
前几天在修改一个站的模块、模板时,突然发现以前可以正常显示的图片不能显示了,只剩下一个16x16的空白图片,这下子影响就大了,感觉在网上搜索相关资料,搜到这篇《PHP : imagepng and imagejpeg output invalid 16x16 image [closed]》,描述的情况、附上的截图几乎和我一模一样。
但我依然没有查出具体问题和解决办法,晚上回家后继续检查,刚准备去.php文件设置增加php的内存试一试,结果看到这个文件开头地方<?php之前多按出来了一个Tab制表符,去掉后就正常了,不是去看这个文件还发现不了。
再回头看那篇文章,确实有人说要检查<?php之前是否存在多余的空白:
这种问题遇到的人很少,但遇到后还真不好排查,所以我也写篇简单的记录,希望对不幸也遇到这个问题的朋友有帮助!🤝
2020-6-16 再次在一个系列网站中遇到这种图片看不到的情况,查看图片的源码,发现在‰PNG行的上方有一个空行
1 2 ‰PNG 3 IHDR
然后去检查index.php中include了一个我们反采集的php程序,而这个反采集的php程序底部?>后面多了两个空行,去掉空行后解决。按照PHP规范,include的php文件在结尾是不写?>的,如果写了也不要后面再有多的空行。
评论2
为啥要绘制一个空白的图片呢!
为啥要绘制一个空白的图片呢!不是我们要绘制一个空白的图片
不是我们要绘制一个空白的图片,而是绘制有内容的图片时出错成了空白的图片。