圖片浮水印輸出不能正常顯示問題!

來源:互聯網
上載者:User
$img = "img/iphone.jpg";$info = getimagesize($img);//擷取圖片資訊$type = image_type_to_extension($info[2],false);//圖片尾碼$fun = "imagecreatefrom{$type}";//確定尾碼選擇相應函數$image = $fun($img);//利用函數接入圖片地址$img_mark = "img/ulogo.png";//設定浮水印路徑$info_mark = getimagesize($img_mark);//擷取浮水印圖片基本資料$type_mark = image_type_to_extension($info_mark[2],false);//擷取圖片類型$fun_mark = "imagecreatefrom{$type_mark}";//$water = $fun_mark($img_mark);imagecopymerge($image, $water, 20, 30, 0, 0, $info_mark[0],$info_mark[1],30);//合并圖片imagedestroy($water);header('Content-type:'.$info['mime']);//告訴瀏覽器是圖片輸出$func = "image{$type}";//選擇相應函數調用$func($image);//瀏覽器輸出圖片$func($image,"newimg.".$type);//儲存圖片imagedestroy($image);//銷毀圖片


$func($image);
怎我這裡不能輸出圖片在瀏覽器上顯示?但又能儲存圖片到根目錄下奇怪!!!


回複討論(解決方案)

不能顯示是什麼意思?一個叉?

去掉程式檔案的 BOM 頭和多餘的空格、空行

不能顯示是什麼意思?一個叉?

去掉程式檔案的 BOM 頭和多餘的空格、空行



果真是BOM在作怪,設了無BOM格式URF8編碼就可以了。為何會這樣呢,可以解析下嗎?

BOM 是若干個字元(utf-8是3個),但他並不屬於圖片的內容
不是圖片的內容 加上 圖片的內容,結果顯然就不是圖片了

BOM 是若干個字元(utf-8是3個),但他並不屬於圖片的內容
不是圖片的內容 加上 圖片的內容,結果顯然就不是圖片了



那怎麼防止BOM的出現?

有時頁面中又沒有BOM出現,有時又會出現真奇怪~~~難道是工具問題?

BOM 頭是你偏好 所謂的國際化 造成的
其實 BOM 不僅會影響圖片的輸出、檔案的下載,還會影響頁面的布局和 json 資料的解碼
如果你一定要用 utf-8 編碼儲存檔案,那麼就一定要養成 無BOM 的習慣
其實在程式中很少有中文字串常量的,所以並不需要儲存為 utf-8 的

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.