0

これが私のコードです。および関数が機能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();
    }
}
?>
4

1 に答える 1

0

フラッシュ コマンドに問題がある場合は、確認する必要があることがいくつかあります。

php.ini ファイル (または ht アクセス、またはスクリプトでも) で、次の値を設定します。

output_buffering 0
zlib.output_compression = Off
zlib.output_compression_level = -1

default_charset = "utf-8"

また、あなたのコードにはob_startがないことに気づきました

于 2012-07-20T23:38:55.500 に答える