300MB安全视频流(PHP)
我们需要您帮助解决一个PHP项目客户端限制 他希望从服务器上完全下载安全视频,他希望视频存储在公共目录之外,并且视频流必须是HTML5格式的,没有Flash。我有一个解决方案,在php缓冲区中加载视频,并响应它更改头信息,但视频大小,或多或少300MB是不可能加载到php缓冲区300MB安全视频流(PHP),php,security,video,streaming,Php,Security,Video,Streaming,我们需要您帮助解决一个PHP项目客户端限制 他希望从服务器上完全下载安全视频,他希望视频存储在公共目录之外,并且视频流必须是HTML5格式的,没有Flash。我有一个解决方案,在php缓冲区中加载视频,并响应它更改头信息,但视频大小,或多或少300MB是不可能加载到php缓冲区 有什么好主意吗?您不需要将任何内容加载到缓冲区中。只需发送标题,然后使用readfile()继续读取文件。该文件位于一个目录中,该目录的.htaccess禁止直接访问(下载脚本当然不是),而Bob是您的叔叔 既然您谈到了
有什么好主意吗?您不需要将任何内容加载到缓冲区中。只需发送标题,然后使用
readfile()
继续读取文件。该文件位于一个目录中,该目录的.htaccess
禁止直接访问(下载脚本当然不是),而Bob是您的叔叔
既然您谈到了将文件加载到缓冲区,请记住,这不是“流”。大多数Flash拖缆实际上是发出字节范围请求。在这些情况下,您也可以使用
if(isset($\u SERVER['HTTP\u RANGE'])
,解析范围,然后用fseek
和fread
完成剩下的工作。我们是在谈论流媒体还是下载?那么您为您这样做向我们支付了多少客户费用?请将文件分块阅读,并在客户进来时发送给他们。不要一下子看整个文件。打得好,@G\G。我也读过“在PHP缓冲区中加载视频”,并用“下载”进行了翻译。流式处理有点复杂,因为它需要解析(并生成)正确的头,但不需要使用异常大的缓冲区就可以实现。readfile()本身不会出现任何内存问题,即使在发送大文件时也是如此。如果遇到内存不足错误,请确保使用ob_get_level()关闭输出缓冲。这解决了我的问题。。。是吗?没错,下载的时候。对于流媒体,您无论如何都不会使用readfile
。当然,我理解。非常感谢你。