Php 如何重定向实时数据流,向其中添加另一个标头并按需返回?(菲律宾)

Php 如何重定向实时数据流,向其中添加另一个标头并按需返回?(菲律宾),php,proxy,header,stream,Php,Proxy,Header,Stream,我有一个像 在请求我的php sctipt时,我想返回(类似于代理)我可以从该URL获得的所有数据(因此我的意思是我的php代码应该从该URL获得数据并将其提供给用户)以及我的头和文件的开头 所以我有我的标题和一些数据,我想写在响应的开头,比如 # content headers header("Content-Type: video/x-flv"); # FLV file format header if($seekPos !=

我有一个像

在请求我的php sctipt时,我想返回(类似于代理)我可以从该URL获得的所有数据(因此我的意思是我的php代码应该从该URL获得数据并将其提供给用户)以及我的头和文件的开头

所以我有我的标题和一些数据,我想写在响应的开头,比如

# content headers
        header("Content-Type: video/x-flv");        
        # FLV file format header
        if($seekPos != 0) 
        {
        print('FLV');
        print(pack('C', 1));
        print(pack('C', 1));
        print(pack('N', 9));
        print(pack('N', 9));
    }

如何执行此操作?

请参阅和的手册条目。

请参阅和的手册条目。

我已使用libcurl完成此操作

$url = 'http://localhost:8020/stream.flv';
$ch = curl_init();
curl_exec($ch);
curl_close($ch);

我已经使用libcurl完成了这项工作

$url = 'http://localhost:8020/stream.flv';
$ch = curl_init();
curl_exec($ch);
curl_close($ch);

这是我用来做一些非常类似的事情的代码,我还将原始flv中的所有头转发给最终用户,但是如果您想设置自己的头,您可以删除该部分

$video = fopen(URL, "rb");

// Forward headers, $http_response_header is populated by fopen call
foreach ($http_response_header AS $header) {
    header($header);
}

// Output contents of flv
while (!feof($video)) {
    print (fgets($video));
}

fclose($video);

这是我用来做一些非常类似的事情的代码,我还将原始flv中的所有头转发给最终用户,但是如果您想设置自己的头,您可以删除该部分

$video = fopen(URL, "rb");

// Forward headers, $http_response_header is populated by fopen call
foreach ($http_response_header AS $header) {
    header($header);
}

// Output contents of flv
while (!feof($video)) {
    print (fgets($video));
}

fclose($video);

但问题是在那一边,溪流是活的,所以无限。。。那么这种情况下有什么注释吗?Hmmm fopen不会下载整个文件,理论上,feof会继续读取文件直到结束-即在流的情况下永远不会?至少我是这么想的,但很可能是错的——试试看!都德你的回答救了我一天:)但我有个问题要问你,你如何检查连接的链接是否停止?但问题是在那一边,流是活的,所以无限。。。那么这种情况下有什么注释吗?Hmmm fopen不会下载整个文件,理论上,feof会继续读取文件直到结束-即在流的情况下永远不会?至少我是这么想的,但很可能是错的——试试看!都德:你的回答救了我一天:)但我有个问题要问你,你如何检查连接的链接是否停止?但问题就在那一边localhost:8020/stream.flv流是活动的,所以无限。。。这种情况下有什么注意事项吗?但问题就在这一方localhost:8020/stream.flv流是活动的,所以无限。。。那么,这种情况有什么说明吗?