php header 跳轉 ie有關問題

來源:互聯網
上載者:User
php header 跳轉 ie問題

電影站提供電影bt下載,由於使用寶麗通播放器,上傳電影的時候會同時上傳一個電影的hash檔案。利用這個hash檔案,第一次請求時動態產生對應的bt種子儲存(指定路徑)並提供下載。當使用者點擊下載bt種子的時候,首先到對應的目錄下檢測對應的bt種子檔案是否存在,如果存在,則直接提供下載,否則先產生,再下載。

Bt種子的下載直接在檔案中使用header跳轉的方式。php檔案本身是gbk編碼。

後來發現,在chrome和firefox和ie6中都能正常工作,但是到了ie8中會出現找打不檔案的情況。這讓我很鬱悶,ie6都能行,結果ie8還有問題。

//指向torrent檔案,提供下載//$torrent_file_url = "torrent/tyvod1/科幻片/雷神托爾.torrent"$redirect_url = "http://vod.cqjtu.edu.cn/".$torrent_file_url;Header("HTTP/1.1 303 See Other"); Header("Location: ".$redirect_url);exit ();

經過對比測試,發現如果路徑中有中文,ie8就沒法下載。php檔案本身是GBK編碼,於是我們在跳轉之前,先將gbk編碼的字串轉換為utf8編碼。

//指向torrent檔案,提供下載//$torrent_file_url = "torrent/tyvod1/科幻片/雷神托爾.torrent"$redirect_url = "http://vod.cqjtu.edu.cn/".$torrent_file_url;Header("HTTP/1.1 303 See Other"); Header("Location: ".iconv("gbk","utf-8",$redirect_url));exit ();

這下,在chrome和firefox以及ie8和ie9中都沒問題了,但是在ie6中又不能下載了。中文亂碼。查資料之後說是因為ie6對UTF-8的支援不夠完善。尼瑪ie還真難伺候,無論是GBK編碼還是UTF-8編碼,chrome和firefox都能正確解析,ie自家兄弟居然出這樣的問題。

沒找到好的辦法,只得專門為ie6做一下…

//指向torrent檔案,提供下載//$torrent_file_url = "torrent/tyvod1/科幻片/雷神托爾.torrent"$redirect_url = "http://vod.cqjtu.edu.cn/".$torrent_file_url;Header("HTTP/1.1 303 See Other"); if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')===false){//非ie6Header("Location: ".iconv("gbk","utf-8",$redirect_url));}else{//ie6Header("Location: ".$redirect_url);}exit ();

不知道是否有哪位仁兄曾經遇到過這個問題,或者有更好的解決方案。

順帶談一下寶麗通,不知道有沒有誰用過它。這東西怎麼說呢,有好也有不好。好的地方就是用起來p2p效果還是不錯,不好的地方就是使用不方便,官方給的資料太少,只提供了基本的樣本。還有那個.hash檔案,直接產生torrent不就得了嘛。最坑爹的就是tracker居然在設定為它自己的tracker,而且沒法更改。這要是內網使用者用這個根本就沒用。不過把官方的安裝程式解包之後還是可以修改tracker的。本來就是內網p2p,自己搭建個tracker比用它提供的外網tracker要安全,穩定得多。

如果哪位有更好的免費的區域網路p2p解決方案,煩請告訴小弟一聲)。



  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.