Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
300MB安全视频流(PHP)_Php_Security_Video_Streaming - Fatal编程技术网

300MB安全视频流(PHP)

300MB安全视频流(PHP),php,security,video,streaming,Php,Security,Video,Streaming,我们需要您帮助解决一个PHP项目客户端限制 他希望从服务器上完全下载安全视频,他希望视频存储在公共目录之外,并且视频流必须是HTML5格式的,没有Flash。我有一个解决方案,在php缓冲区中加载视频,并响应它更改头信息,但视频大小,或多或少300MB是不可能加载到php缓冲区 有什么好主意吗?您不需要将任何内容加载到缓冲区中。只需发送标题,然后使用readfile()继续读取文件。该文件位于一个目录中,该目录的.htaccess禁止直接访问(下载脚本当然不是),而Bob是您的叔叔 既然您谈到了

我们需要您帮助解决一个PHP项目客户端限制

他希望从服务器上完全下载安全视频,他希望视频存储在公共目录之外,并且视频流必须是HTML5格式的,没有Flash。我有一个解决方案,在php缓冲区中加载视频,并响应它更改头信息,但视频大小,或多或少300MB是不可能加载到php缓冲区


有什么好主意吗?

您不需要将任何内容加载到缓冲区中。只需发送标题,然后使用
readfile()
继续读取文件。该文件位于一个目录中,该目录的
.htaccess
禁止直接访问(下载脚本当然不是),而Bob是您的叔叔


既然您谈到了将文件加载到缓冲区,请记住,这不是“流”。大多数Flash拖缆实际上是发出字节范围请求。在这些情况下,您也可以使用
if(isset($\u SERVER['HTTP\u RANGE'])
,解析范围,然后用
fseek
fread
完成剩下的工作。

我们是在谈论流媒体还是下载?那么您为您这样做向我们支付了多少客户费用?请将文件分块阅读,并在客户进来时发送给他们。不要一下子看整个文件。打得好,@G\G。我也读过“在PHP缓冲区中加载视频”,并用“下载”进行了翻译。流式处理有点复杂,因为它需要解析(并生成)正确的头,但不需要使用异常大的缓冲区就可以实现。readfile()本身不会出现任何内存问题,即使在发送大文件时也是如此。如果遇到内存不足错误,请确保使用ob_get_level()关闭输出缓冲。这解决了我的问题。。。是吗?没错,下载的时候。对于流媒体,您无论如何都不会使用
readfile
。当然,我理解。非常感谢你。