3

我正在使用这样的代码:

//对客户来说重要的东西的部分
ob_start();
回声“废话……随机内容”。兰特(1,1000);
$size = ob_get_length();
header("内容长度:$size");
header('连接:关闭');
ob_end_flush();
ob_flush();
冲洗();
//客户端应忽略所有以下输出/脚本运行时间(file_get_contents())
睡眠(10);
echo "长动作完成";

输出一些内容并随后运行耗时的后台作业。
在另一个文件中,我试图访问第一个脚本的数据,而不必等待后台作业完成。
不幸的是,这对我不起作用:

$content = file_get_contents("http://some-address/thescript.php");
回声$内容;

因为它不注意 Content-length 标头。在浏览器中,整个事情都可以正常工作。有什么建议么?谢谢。

4

1 回答 1

2

解决它。如果有人遇到同样的问题:


$url = "http://some-adress/test.php";
$headers = get_headers($url, 1);
$content_length = $headers["Content-Length"];
$content = file_get_contents($url, NULL, NULL, NULL, $content_length);
echo $content;


于 2012-06-07T23:44:35.810 回答