国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ php教程 php手冊(cè) PHP で IP アドレスに基づいて都市を決定し、都市切り替えまたはジャンプ コードを?qū)g裝します。

PHP で IP アドレスに基づいて都市を決定し、都市切り替えまたはジャンプ コードを?qū)g裝します。

Jun 13, 2016 am 11:58 AM
function php コード スイッチ 判斷 住所 コピー 成し遂げる 得る ジャンプ

IP アドレスを取得

コードをコピー コードは次のとおりです。


function GetIP() {
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER[ "HTTP_CLIENT _IP" ];
else if ($_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv ("HTTP_X_FORWARDED_FOR");
else if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
echo GetIP();
?> ;


方法 2

コードをコピー コードは次のとおりです。


function getip ( )
{
??> $ip = getenv('http_x_forwarded_for );
$ip = $_server['remote_addr'] 最新の IP アドレス データベース: http://www.jb51.net/softs/10529.html
使用方法: 解凍後、QQWry.Dat が必要な IP アドレス データベースになります。新しい ipcity を作成します。フォルダを指定して配置します。 以下にデータベースを配置します。 QQ IP データベースは非常に使いやすく、データは非常に完成していますので、公式の更新に遅れずに従うことができ、データを最新の狀態(tài)に保つことができます。
次に、新しい ipaddress.php を作成します。上記の ipcity ディレクトリにあるファイルを直接コピーして、次のコードを入力するだけです。重要な箇所もそれに応じてコメントされています。セクション B:



コードをコピー

コードは次のとおりです:


/*
関數(shù)名: ipCity
パラメータの説明: $userip—ユーザー IP アドレス
関數(shù): PHP は、 IP アドレス
author:lee
contact:xpsem2010@gmail.com
*/
function ipCity($userip) {
//IP データベース パス、QQ IP データベースの純粋なバージョン 20110405ここで使用します
$dat_path = 'QQWry.dat';
//IP アドレスが有効かどうかを判斷します
if(!ereg("^([0-9]{1,3}.){ 3}[0-9 | , 'rb')){
Return 'IP データ ファイルが存在しないか、アクセスが拒否されました' ('.', $userip);
$useripNum = $userip[0] * 16777216 $userip[1] * 65536 $userip[2] * 256 $userip[3];
//IP アドレスのインデックス開(kāi)始位置と終了位置を取得
$DataBegin = fread($fd, 4);
$DataEnd = fread($fd, 4);
$useripbegin = implode('', unpack('L', $DataBegin));
if($useripbegin < 0) $useripbegin = pow( 2, 32);
$useripend = implode('', unpack('L', $DataEnd));
if($useripend < 0) $useripend = pow(2, 32);
$useripAllNum = ($useripend - $useripbegin) / 7 1;
$BeginNum = 0;
$EndNum = $useripAllNum;
//二分検索メソッドを使用して、インデックスから一致する IP アドレス レコードを検索しますrecords
while($userip1num>$useripNum || $userip2num<$useripNum) {
$Middle= intval((( $EndNum $BeginNum) / 2);
// インデックスへのポインタをオフセットします位置を決めて 4 バイトを読み取ります
fseek($fd, $useripbegin 7 * $Middle);
$useripData1 = fread( $fd, 4);
If(strlen($useripData1) <4) {
fclose($fd);
データが負(fù)の數(shù)の場(chǎng)合は、2 の 32 乗を加算します。
$userip1num = implode('', unpack('L) ', $useripData1));
if($userip1num < 0 ) $userip1num = pow(2, 32);
//抽出された長(zhǎng)整數(shù)が IP アドレスより大きい場(chǎng)合、終了位置を変更します次のサイクル
if($ userip1num&gt; $ useripnum){
$ endnum = $ middle;
($ dataseek)&lt; > fseek($fd, $DataSeek);
$useripData2 = fread($fd, 4);
if(strlen($useripData2) < 4) {
fclose($fd);
$userip2num = implode('', unpack('L', $useripData2));
if($userip2num < 0) $userip2num = pow(2, 32);
//找不到IP地址對(duì)應(yīng)城市
if($userip2num < $useripNum) {
if($Middle == $BeginNum) {
fclose($fd);
return 'データなし';
}
$BeginNum = $Middle;
}
}
$useripFlag = fread($fd, 1);
if($useripFlag == chr(1) )) {
$useripSeek = fread($fd, 3);
if(strlen($useripSeek) < 3) {
fclose($fd);
return 'システム エラー';
}
$useripSeek = implode('', unpack('L', $useripSeek.chr(0)));
fseek($fd, $useripSeek);
$useripFlag = fread($fd, 1);
}
if($useripFlag == chr(2)) {
$AddrSeek = fread($fd, 3);
if(strlen($AddrSeek) < 3) {
fclose($fd);
return 'システム エラー';
}
$useripFlag = fread($fd, 1);
if($useripFlag == (2) ) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2) < 3) {
fclose($fd);
return 'システムエラー';
}
$AddrSeek2 = implode('', unpack('L', 2.chr(0)) );
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = f読み取り($ fd, 1)) != chr(0))
$useripAddr2 .= $char;
$AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
fseek($fd, $AddrSeek);
while(($char = fread($fd, 1)) != chr(0))
$useripAddr1 .= $char;
} else {
fseek($fd, -1, SEEK_CUR);
while(($char = fread($fd, 1)) != chr(0))
$useripAddr1 .= $char;
$useripFlag = fread($fd, 1);
if($useripFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($ AddrSeek2) < 3) {
fclose($fd);
return 'システム エラー';
}
$AddrSeek2 = implode('', unpack( 'L'、$AddrSeek2.chr (0)));
fseek($fd, $AddrSeek2);
}else {
.= $char;
}
}
fclose($fd);
//都市を返すIP アドレスに対応する結(jié)果
if(preg_match('/ http/i', $useripAddr2 )) {
$useripAddr2 = '';
}
$useripAddr = "$useripAddr1 $useripAddr2";
$useripAddr = preg_replace('/CZ88.Net/ is', '', $ useripaddr);
$useripaddr = preg_replace('/^s*/is', '', $useripaddr);
$useripaddr = preg_replace('/s*$/is' , '', $useripaddr) ;
if(preg_match('/http/i', $useripaddr) || $useripaddr == '') {
$useripaddr = 'データなし';
}
$useripaddr を返す >セクション C は次のとおりです。
// 指定されたページ js にジャンプして、IP アドレスに基づいて都市を取得します



コードをコピーします

コードは次のとおりです次のように:


var city='';

//IP に基づいて指定されたページにジャンプしますすべての都市のアドレス

コードをコピーします


コードは次のとおりです:


if(city.indexOf("Shanghai City" )>=0){
window.location.href=" http://shanghai.demo.com/";

}先頭のAセグメントコードと、上記の C セグメント コードを B セグメント コードの先頭と末尾にそれぞれ追加し、リダイレクトする必要があるページに次のコードを追加します。


コードをコピー

コードは次のとおりです。



ページを更新すると、期待した効果が得られますか? 上記のコードは単純に IP アドレスを決定し、このようなことが起こった場(chǎng)合、湖南省のすべての IP アドレスを長(zhǎng)沙にジャンプする必要があります。複數(shù)の親操作が処理されました。知りたい場(chǎng)合は、次のエピソードをご覧ください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

最新のPHP開(kāi)発とベストプラクティスを最新の狀態(tài)に保つにはどうすればよいですか? 最新のPHP開(kāi)発とベストプラクティスを最新の狀態(tài)に保つにはどうすればよいですか? Jun 23, 2025 am 12:56 AM

postaycurrentwithpdevellyments andbest practices、follow keynewsourceslikephp.netandphpweekly、egagewithcommunitiessonforums andconferences、keeptooling and gradivallyadoptnewfeatures、andreadorcontributeTopensourceprijeprijeprijeptrijeprijeprests.

PHPとは何ですか、そしてなぜそれがWeb開(kāi)発に使用されるのですか? PHPとは何ですか、そしてなぜそれがWeb開(kāi)発に使用されるのですか? Jun 23, 2025 am 12:55 AM

PhpBecamepopularforwebdevelopmentduetoitseaseaseaseaseasease、SeamlessintegrationWithhtml、widespreadhostingsupport、andalargeecosystemincludingframeworkelavelandcmsplatformslikewordspresspressinsinsionsisionsisionsisionsisionsionsionsisionsionsionsisionsisions

PHPタイムゾーンを設(shè)定する方法は? PHPタイムゾーンを設(shè)定する方法は? Jun 25, 2025 am 01:00 AM

tosettherighttimezoneInphp、usedate_default_timezone_set()functionthestthestofyourscriptwithavalididentifiersiersuchas'america/new_york'.1.usedate_default_timezone_set()beforeanydate/timefunctions.2.2.Altertentally、confuturethephp.inifilebyset.

PHPでのユーザー入力を検証して、特定の基準(zhǔn)を満たすことを確認(rèn)するにはどうすればよいですか? PHPでのユーザー入力を検証して、特定の基準(zhǔn)を満たすことを確認(rèn)するにはどうすればよいですか? Jun 22, 2025 am 01:00 AM

tovalidateuserinputinphp、usebuilt-validationfunctionslikefilter_var()andfilter_input()、applyRegularexpressionsforcustomformatsusususussusorphoneNumbers、checkdatatypesfornumerueSlikeageorpricepriceprice

PHP(serialize()、unserialize())のデータシリアル化とは何ですか? PHP(serialize()、unserialize())のデータシリアル化とは何ですか? Jun 22, 2025 am 01:03 AM

thephpfunctionSerialize()andunserialize()areusedtoconvertcomplexdatastructostorestorestorustorasandabackagain.1.serialize()c onvertsdatalikecarraysorobjectsraystringcontainingtainingtainingepeandStructureinformation.2。

HTMLファイルにPHPコードを埋め込むにはどうすればよいですか? HTMLファイルにPHPコードを埋め込むにはどうすればよいですか? Jun 22, 2025 am 01:00 AM

PHPコードをHTMLファイルに埋め込むことができますが、ファイルに.phpの拡張機(jī)能があることを確認(rèn)して、サーバーが正しく解析できるようにします。標(biāo)準(zhǔn)タグを使用してPHPコードをラップし、HTMLのどこにでも動(dòng)的コンテンツを挿入します。さらに、同じファイルでPHPとHTMLを複數(shù)回切り替えて、條件付きレンダリングなどの動(dòng)的関數(shù)を?qū)g現(xiàn)できます。短いラベル、引用マークエラー、または省略されたエンドラベルによって引き起こされる問(wèn)題を回避するために、サーバーの構(gòu)成と構(gòu)文の正確性に注意してください。

クリーンで保守可能なPHPコードを書(shū)くためのベストプラクティスは何ですか? クリーンで保守可能なPHPコードを書(shū)くためのベストプラクティスは何ですか? Jun 24, 2025 am 12:53 AM

清潔で維持しやすいPHPコードを書(shū)くための鍵は、標(biāo)準(zhǔn)、合理的な構(gòu)造に従って、コメント、テスト能力を適切に利用する明確な命名にあります。 1。$ userDataやcalculatetotalprice()などの明確な変數(shù)、関數(shù)、クラス名を使用します。 2。PSR-12標(biāo)準(zhǔn)統(tǒng)一コードスタイルに従ってください。 3.責(zé)任に従ってコード構(gòu)造を分割し、MVCまたはLaravelスタイルのカタログを使用して整理します。 4.麺スタイルのコードを避け、単一の責(zé)任でロジックを小さな関數(shù)に分割します。 5.キーポイントにコメントを追加し、インターフェイスドキュメントを書(shū)き込み、パラメーター、返品値、例外を明確にします。 6.テスト可能性を改善し、依存関係を採(cǎi)用し、グローバルな狀態(tài)と靜的な方法を減らします。これらのプラクティスは、コードの品質(zhì)、コラボレーション効率、メンテナンス後の容易さを改善します。

See all articles