这是我的代码。 ob_flush()
和flush()
功能不起作用。为什么?
<?php
function get_headers_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
$r = curl_exec($ch);
$r = split("\n", $r);
return $r;
}
$urls = file('users.txt', FILE_IGNORE_NEW_LINES);
foreach ($urls as $url) {
$headers = get_headers_curl(trim($url));
if (false !== stripos(implode("\n", $headers), "Apache")) {
echo "$url ====> ok" ;
ob_flush();
flush();
}
}
?>
答案 0 :(得分:0)
如果您遇到flush命令问题,您需要检查一些事项。
在php.ini文件中(或ht访问,甚至在脚本中) 设置以下值
output_buffering 0
zlib.output_compression = Off
zlib.output_compression_level = -1
default_charset = "utf-8"
另外我在你的代码中注意到你没有ob_start