phpcmsでIPを取得する方法 今日イエローページをやっていたところ、phpcmsを取得したばかりで、コメント投稿者のIPを保存したいという機能があったので、Baiduで調べてみました。一生懸命検索した結果、見つかりました。IP を取得するメソッドを呼び出す必要があることがわかりました。最初にシステムのパブリック メソッドを参照します:
pc_base::load_app_func('global'); 次に、次のように参照するだけです $ip=ip();
メソッドが宣言されている場所を見つけました。笑、thinkphp フレームワークで IP を取得するメソッドとまったく同じです。このメソッドの記述方法を添付します。
/**
* リクエスト IP を取得
*
* @return IP アドレス
*/
関数 ip() {
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$ip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$ip = $_SERVER['REMOTE_ADDR'];
}
return preg_match ( '/[d.]{7,15}/', $ip, $matches ) : '';
}
さて、phpcmsを始めたばかりの方は参考にしてください(笑)。