我有一个小脚本,我尝试移植以便为iPhone / Blackberry / 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 );
它只是根据参数得到一个文件ID,并使用readfile将文件发送给请求者。
然而由于一些奇怪的原因它只能工作一次。 如果您尝试在iPhone和BlackBerry上连续两次访问该页面,它将首次运行。然后,任何时候它会超时或只是停止响应请求。这种行为在非移动设备上不一样,它在Firefox / Safari / Chrome中运行良好。我相当肯定它与非移动端的缓存无关。
任何想法都可能发生这种情况?
答案 0 :(得分:0)
看起来这可能会导致我的一些奇怪的行为,PHP无法检测浏览器在PHP发送数据时何时关闭连接。
查看自2004年以来在PHP中打开的错误http://bugs.php.net/bug.php?id=30301