【发布时间】:2010-04-09 03:33:01
【问题描述】:
我有一个小脚本,我正在尝试移植它来为 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 中运行良好。我相当肯定它与非移动端的缓存无关。
任何想法为什么会发生这种情况?
【问题讨论】:
-
这可能有助于查看来自服务器的实际原始 HTTP 响应标头 - 使用“curl”或其他类似代理的工具,例如 Charles 或 Fiddler2。
标签: php iphone blackberry