0

現在のページ タイトルを PHP 変数に格納しようとしていますが、ページ タイトルを取得しようとするとサーバーがハングします。

ページタイトル():

function page_title($url) {
    $fp = file_get_contents($url);

    if (!$fp) 
        return null;

    $res = preg_match("/<title>(.*)<\/title>/siU", $fp, $title_matches);

    if (!$res) 
        return null; 

    $title = preg_replace('/\bReactionDB\b/i',' ', $title_matches[1]);
    $title = preg_replace('/\|/', '', $title);              
    $title = trim($title);

    return $title;
}

curPageURL():

function curPageURL() {    
    $pageURL = 'http';

    if ($_SERVER["HTTPS"] == "on") {
        $pageURL .= "s";
    }

    $pageURL .= "://";

    if ($_SERVER["SERVER_PORT"] != "80") {
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } else {
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }

    return $pageURL;
}

page_title();あきらめる前に 10 ~ 20 秒間実行しようとすると、サーバーがハングします。

$domene = curPageURL(); 
$pagetitle = page_title($domene);

page_title();まったく機能するかどうかをテストしました。外部 URL を入力すると、問題なくページのページ タイトルが表示されますが、現在のページ/URL のページ タイトルを取得する必要があります。

の出力もテストしましたcurPageURL();が、現在の Web ページの完全な URL が取得されます。

これに対する解決策がある場合は、取得したページ タイトルを PHP 変数 ( ) に格納する機能を含める必要があります$pagetitle

4

1 に答える 1