$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 的