PHP网站在流式传输视频时没有响应

哈泽姆·塔哈(Hazem Taha)

我的网站是在将视频流化的同时使用纯PHP和MySQL开发的,请点击此处。

如果您单击任何名为“مشاهدة”的按钮,则该网站将不会响应任何其他请求,例如导航到任何其他页面。

这是我的Stream.php文件的代码

<?php

session_start();
require("includes/connect.php");

set_time_limit(0);
if(isset($_GET["file"])){
    if(!isset($_GET["start"])) $_GET["start"] = 0;
    $seekPos = $_GET["start"];
    $file = htmlspecialchars($_GET["file"]);
    $fileName = basename($file);
    $file = $config["videoFilesPath"]."/".$fileName;
    if(!file_exists($file)) die("file does not exist: $file");
    $fh = fopen($file, "rb") or die("failed to open file");
    fseek($fh, 0, SEEK_END); $seek_end = ftell($fh);
    fseek($fh, $seekPos); $seek_start = ftell($fh);
    $fileSize =  $seek_end - $seek_start;
    session_cache_limiter('nocache');
    header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Pragma: no-cache");
    header("Content-Type: video/x-flv");
    //header("Content-Disposition: attachment; filename=\"" . $fileName . "\"");
    header('Content-Length: ' . $fileSize);
    if($seekPos != 0){
        print("FLV");
        print(pack('C', 1 ));
        print(pack('C', 1 ));
        print(pack('N', 9 ));
        print(pack('N', 9 ));
    }
    fseek($fh, $seekPos);
    $i=1;
    while (true){
        $var = fread($fh, 1024);
        if($var==false) break;
        echo $var;
        if(++$i%(1<<20)) ob_flush();
    }
    fclose($fh);
}
马雷克

session_start()打开并锁定会话文件,因此您必须session_write_close()在长时间运行的进程之前调用该文件

session_start();
require("includes/connect.php");
session_write_close();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我的网站在某些移动设备上没有响应

来自分类Dev

我的网站在 chrome 扩展中有响应,但是当我在手机中查看它时,它没有响应

来自分类Dev

应用程序在传输数据时没有响应

来自分类Dev

建立mysqli连接时PHP脚本没有响应

来自分类Dev

在html文件夹之外时,如何流式传输视频而没有错误?

来自分类Dev

登录时没有响应

来自分类Dev

单击时按钮没有响应

来自分类Dev

PHP没有响应Angularjs请求

来自分类Dev

在VLC中流式传输时保存视频

来自分类Dev

在下载iOS时流式传输视频

来自分类Dev

在网站上流式传输视频的最经济有效的方法

来自分类Dev

单击“退出”时,Tkinker窗口没有响应

来自分类Dev

Pygame在执行计算时没有响应

来自分类Dev

Flutter:发送字段时API没有响应?

来自分类Dev

点击时更新AngularJS模型,DOM没有响应

来自分类Dev

使用Angular Material进行郊游时没有响应

来自分类Dev

尝试索引CSV文件时Logstash没有响应

来自分类Dev

在进行进度时发送HttpRequest而没有响应

来自分类Dev

单击文本时单击按钮没有响应

来自分类Dev

127.0.0.1 连接到 VPN 时没有响应

来自分类Dev

从 Facebook 重定向时没有响应页面

来自分类Dev

ActionListener没有响应?

来自分类Dev

UISearchController没有响应

来自分类Dev

OnClickListener没有响应

来自分类Dev

imagecopymerge没有响应

来自分类Dev

“ pyautogui”没有响应

来自分类Dev

setOnKeyListener没有响应

来自分类Dev

FBRequestConnection没有响应

来自分类Dev

textFieldShouldBeginEditing没有响应