程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ie6 動態縮略圖不顯示的原因

ie6 動態縮略圖不顯示的原因

編輯:PHP綜合
我在上傳生成縮略圖時,縮略圖顯示的鏈接如下;
復制代碼 代碼如下:
< img src ="/index.php?action=sys_upload_showThumb&id=bdc3955470adfb5637a0d1f517eb3d35" />

結果在ie6下不顯示該縮略圖;後來追溯到下面一段代碼:
復制代碼 代碼如下:
header("Content-type: image/jpeg") ;
header("Content-Length: ".strlen($_SESSION["fileInfo"][$image_id]));
echo $_SESSION["fileInfo"][$image_id];
unset($_SESSION['fileInfo'][$image_id]);//
exit(0);

於是就想是不是還來不及顯示就被unset了?於是刪掉就成功了。後來改為了如下代碼:
復制代碼 代碼如下:
header("Content-type: image/jpeg") ;
header("Content-Length: ".strlen($_SESSION["fileInfo"][$image_id]));
echo $_SESSION["fileInfo"][$image_id];
/** 馬上輸出 上邊的session,解決ie6下生成的縮略圖在還沒有顯示前已經被下邊的unset($_SESSION[''])清空,結果致使ie6無法顯示縮略圖的情況 */
echo $str . str_repeat(' ', 256); //有些浏覽器必須要在輸出達到256個字符時才肯輸出
ob_flush();
flush(); // 這兩個必須要一塊用
unset($_SESSION['fileInfo'][$image_id]);//
exit(0);

其實這又引出了服務器的輸出控制和浏覽器的緩存問題,這有點復雜了,以後有機會再研究了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved