1

phpを使用して基本的な「ステータス」ページを作成しようとしています。これにより、さまざまなサービス(使用するWebページ)が少なくともページを提供しているかどうかをユーザーに通知します(これは100%の動作保証ではありませんが、かなり良い指標です)

私がやりたいのは

www.domainname.com/mediawiki/index.phpそしてそれがページを返すかどうかを確認してください

私はphpにかなり慣れていないので、どの関数を探しているのかさえわかりません。

ありがとう

4

4 に答える 4

5

組み込みのPHP関数を使用してこれを行う方法はいくつかありますが(例:file_get_contents)、あまり良くありません。優れたcURLライブラリをご覧になることをお勧めします。これは正しい方向を示している可能性があります:curlを介したphpでのヘッダーのみの取得

ページが「アップ」しているかどうかを確認したいだけなので、ページ全体をリクエストする必要はありません。HEADリクエストを使用して、ページのヘッダーを取得できます。

于 2010-10-20T18:02:48.930 に答える
0

file_get_contentsをチェックしてください

Webページのソースを文字列として返します。このようにして、必要に応じて文字列で特定の値を検索し、より細かい結果を得ることができます。これは、コンテンツがまだ返される場合に非常に役立ちますが、ある種のエラーメッセージです。

$somePage = file_get_contents('http://www.domainname.com/mediawiki/index.php');
// $somePage now contains the HTML source or false if failed

allow_url_fopen = Onphp.iniで確認してください

応答ヘッダーを確認する必要がある場合は、$http_response_headerを使用できます

于 2010-10-20T18:03:24.360 に答える
0

別のオプションは、ソケットが応答していることを確認することです。(これを最初にどこから入手したか思い出せませんが、ポート 80 が応答しているかどうかはわかります)。これをいつでも別のポートに向けることができます。

function server($addr){
    if(strstr($addr,'/')){$addr = substr($addr, 0, strpos($addr, '/'));}
    return $addr;
};    

$link    = 'secure.sdinsite.net:';
$s_link  = str_replace('::', ':', $link);
$address = explode (':',"$s_link");
$churl   = @fsockopen(server($addrress[0]), 80, $errno, $errstr, 20);

if (!$churl) {
    $status = 'dead';
} else {
    $status = 'live';
};

echo $status;
于 2010-10-20T19:19:34.113 に答える
0

これを試して:

<?php
    $_URL = "http://www.domainname.com/mediawiki/index.php";

    if (! @file_get_contents($_URL))
    {
        echo "Service not responding.";
    }
?>

php.iniアクティブにする必要があることに注意してくださいallow_url_fopen

幸運を

于 2010-10-20T18:05:08.920 に答える