2010-03-26 19 views
0

我有一個小的腳本,我嘗試移植到視頻數據服務給iPhone /黑莓合作/ PalmPre的等問題的視頻數據服務到iPhone /黑莓/ PalmPre的

的代碼是可笑的簡單:

$type = "video/3gpp"; /* get mimetype from db */ 
$fileid = "0001"; /* File path from db */ 
header("Content-Length: " . filesize($fileId)); 
header("Content-type: $type"); 
readfile($fileId); 

它只是得到的基於參數的文件名和使用的ReadFile將文件發送到請求者。

但是由於一些奇怪的原因,它只能工作一次。 如果您嘗試在iPhone和BlackBerry上連續訪問該頁面兩次,它將首次運行。然後,無論是超時還是停止響應請求。這種行爲在非移動設備上並不相同,它在Firefox/Safari/Chrome中運行良好。我相當肯定它與無移動端的緩存無關。

任何想法爲什麼會發生這種情況?

+0

它可能有助於查看服務器的實際原始HTTP響應頭 - 如果使用「捲曲」或其他一些代理狀工具,例如查爾斯或Fiddler2。 – 2010-03-28 01:44:15

回答

0

看起來像這可能會導致我的一些奇怪的行爲與PHP無法檢測何時瀏覽器關閉連接,而PHP正在發送數據。

查看自2004年以來一直開在PHP的bug http://bugs.php.net/bug.php?id=30301