今年初開始使用《用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
為啥要繪制一個空白的圖片呢!
為啥要繪制一個空白的圖片呢!不是我們要繪制一個空白的圖片
不是我們要繪制一個空白的圖片,而是繪制有内容的圖片時出錯成了空白的圖片。