내가 만든 PHP 웹사이트의 경우, "지린성 사평시"와 같은 지역을 표시할 수 있는 IP 데이터베이스의 순수 버전을 인터넷에서 다운로드했습니다.
lt;?php
//1단계: 프록시를 통해 사용자의 실제 IP 주소 얻기
$theip=getip();
함수 getIP()
{
static $realip;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP " ])) {
$realip = $_SERVER["HTTP_CLIENT_IP"]
} else {
$realip = $_SERVER["REMOTE_ADDR"] ;
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR " );
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP")
} else {< / p>
$realip = getenv("REMOTE_ADDR");
}
}
$realip 반환;
}
//두 번째 단계: IP 주소 라이브러리를 읽어 지역 찾기
//테이블 이름이 ip이고 필드에 시작(시작) 및 끝(끝)이 포함되어 있다고 가정합니다. ) ), 지역(지역 코드)
$dblink=@mysql_connect("데이터베이스 서버 이름", "데이터베이스 사용자 이름", "데이터베이스 비밀번호");
$dbselect=@mysql_select_db (데이터베이스 이름);
if (!$dbselect){
die("데이터베이스를 읽을 수 없습니다.");
}
$result=mysql_query("`begin`lt;=`$theip` 및 `end`gt;=`$theip`인 `ip`에서 * 선택");
$num=mysql_num_rows( $result);
if($numgt;0){
$info=mysql_fetch_array($result);
$page=$info['area '];
else{
$page='default'; //IP가 데이터베이스에 없으면 기본 페이지를 사용하세요.
}
//3단계: 전송 해당 페이지로 이동, 코드명이 "js"인 경우 "js.php" 페이지로 이동
$page.='.html' //접미어는 직접 선택 가능
echo "lt; 스크립트 언어=\"javascript\"gt; window.location.replace(\"$page\")lt;/scriptgt;";