php顯示ip,php顯示內部服務器錯誤

本文目錄一覽:

PHP顯IP的函數是多少?

顯示ip不用函數的,只需打印PHP Variables就可以了

$_SERVER[“SERVER_ADDR”] 這個是服務器ip

$_SERVER[“REMOTE_ADDR”] 這個是客戶端ip

php實現圖形顯示Ip地址的代碼及注釋

使用圖形顯示Ip,文件

sunip.php

複製代碼

代碼如下:

?php

header(“Content-type:

image/gif”);

$im

=

imagecreate(130,15);

$background_color

=

ImageColorAllocate

($im,

255,

255,

255);

unset($ip);

if($_SERVER[‘HTTP_CLIENT_IP’]){

$ip=$_SERVER[‘HTTP_CLIENT_IP’];

}

else

if($_SERVER[‘HTTP_X_FORWARDED_FOR’]){

$ip=$_SERVER[‘HTTP_X_FORWARDED_FOR’];

}

else{

$ip=$_SERVER[‘REMOTE_ADDR’];

}

//

$col

=

imagecolorallocate($im,

0,

51,

102);

imagestring($im,

3,

5,

1,

$ip

,

$col);

imagegif($im);

imagedestroy($im);

?

1.

?php

2.

header(“Content-type:

image/gif”);

第二行

聲明瀏覽器標頭

輸出為GIF圖形

3.

$im

=

imagecreate(130,15);

建立一個圖形

imagecreate(130,15)括號內130,15分別代表寬度和高度

4.

$background_color

=

ImageColorAllocate

($im,

255,

255,

255);

設置背景顏色

imagecolorallocate

為一幅圖片分配顏色

($im,

255,

255,

255)im代表前面提到的新建圖形

後面的3個255則代表顏色表ffffff的10進制字符

5.

unset($ip);

無用

6.if($_SERVER[‘HTTP_CLIENT_IP’]){

$ip=$_SERVER[‘HTTP_CLIENT_IP’];

}

else

if($_SERVER[‘HTTP_X_FORWARDED_FOR’]){

$ip=$_SERVER[‘HTTP_X_FORWARDED_FOR’];

}

else{

$ip=$_SERVER[‘REMOTE_ADDR’];

}

如果$_SERVER[‘HTTP_CLIENT_IP’]可以使用則使用$_SERVER[‘HTTP_CLIENT_IP’]下面類似

為判斷

此段是為了兼容多種服務器設置

7.

$col

=

imagecolorallocate($im,

0,

51,

102);

定義文字顏色

8.

imagestring($im,

3,

5,

1,

$ip

,

$col);

將獲取到的IP畫到新建的畫布上

imagestring($im,

3,

5,

1,

$ip

,

$col);

分別代表imagestring(圖形表示,字符尺寸1-5,X坐標,Y坐標,輸出的IP,顏色)

9.

imagegif($im);

輸出GIF圖形

10.

imagedestroy($im);

釋放內存

11.

?

程序結束

使用php怎麼顯示外網ip,要把php文件放到哪個路徑下啊

獲取客戶端(即訪問用戶)的IP

function getip() {

$unknown = ‘unknown’;

if ( isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])

$_SERVER[‘HTTP_X_FORWARDED_FOR’]

strcasecmp($_SERVER[‘HTTP_X_FORWARDED_FOR’],

$unknown) ) {

$ip = $_SERVER[‘HTTP_X_FORWARDED_FOR’];

} elseif ( isset($_SERVER[‘REMOTE_ADDR’])

$_SERVER[‘REMOTE_ADDR’]

strcasecmp($_SERVER[‘REMOTE_ADDR’], $unknown) ) {

$ip = $_SERVER[‘REMOTE_ADDR’];

}

在要顯示的頁面的位置echo getip();

獲取客戶端IP的方法有很多,如果你只是要顯示IP,容易些。如果你還要根據IP獲取所在城市(例如:112.221.108.xxx來自上海xx)之類的。那就需要另外再處理。

自己加載IP庫不現實,不準還難得更新。所以一般都用網上的接口,taobao的比較穩定

PHP怎麼獲取當前電腦的IP?

本文所述php實例可以完成獲取局域網所有用戶的電腦IP和主機名、及mac地址的功能,對於php程序設計人員有一定的參考借鑒價值。完整代碼如下:

?php

$bIp = gethostbyname($_ENV[‘COMPUTERNAME’]); //獲取本機的局域網IP

echo “本機IP:”,$bIp,”\n”;

echo “本機主機名:”,gethostbyaddr($bIp),”\n\n\n”; //gethostbyaddr 函數可以根據局域網IP獲取主機名

//默認網關IP

list($ipd1,$ipd2,$ipd3) = explode(‘.’,$bIp);

$mask = $ipd1 . “.” . $ipd2 . “.” . $ipd3 ;

exec(‘arp -a’,$aIp); //獲取局域網中的其他IP

foreach( $aIp as $ipv) {

if(strpos($ipv,’接口’) !== false) {//一下顯示的IP是否是當前局域網中的 而不是其他的類型 可以在cmd下試一下命令

$bool = false;

preg_match(‘/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/’,$ipv,$arr);

if(strcmp($arr[0],$bIp) == 0) {

$bool = true;

}

} else {

if($bool) {

$str = preg_replace(‘/\s+/’, ‘|’, $ipv);

$sArr = explode(‘|’,$str);

if($sArr[1] == ‘Internet’ || empty($sArr[1])) {

continue;

}

//去除默認網關

if(strcmp($mask . “.1”, $sArr[1]) == 0) {

continue;

}

//去除同網關下255的IP

if(strcmp($mask . “.255”, $sArr[1]) == 0) {

continue;

}

//去除組播IP

list($cIp) = explode(‘.’, $sArr[1]);

if($cIp = 224 $cIp = 239) {

continue;

}

echo “IP地址:|”,$sArr[1],”|\n”;

echo “MAC地址:”,$sArr[2],”\n”;

echo “主機名:”,gethostbyaddr($sArr[1]),”\n”;

echo “\n\n”;

}

}

}

用PHP寫出顯示客戶端IP與服務器IP的代碼

服務器IP用:

echo(gethostbyname($SERVER_NAME));

客戶端IP用下面函數:

function iptype1 () {

if (getenv(“HTTP_CLIENT_IP”)) {

return

getenv(“HTTP_CLIENT_IP”);

}

else {

return “none”;

}

}

function iptype2 () {

if (getenv(“HTTP_X_FORWARDED_FOR”)) {

return getenv(“HTTP_X_FORWARDED_FOR”);

}

else {

return “none”;

}

}

function iptype3 () {

if (getenv(“REMOTE_ADDR”)) {

return getenv(“REMOTE_ADDR”);

}

else {

return “none”;

}

}

function ip() {

$ip1 = iptype1();

$ip2 = iptype2();

$ip3

= iptype3();

if (isset($ip1) $ip1 != “none” $ip1 !=

“unknown”) {

return $ip1;

}

elseif (isset($ip2) $ip2

!= “none” $ip2 != “unknown”) {

return $ip2;

}

elseif

(isset($ip3) $ip3 != “none” $ip3 != “unknown”) {

return $ip3;

}

else {

return “none”;

}

}

使用時,直接調用ip();

原創文章,作者:LAYXX,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/317114.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LAYXX的頭像LAYXX
上一篇 2025-01-11 16:27
下一篇 2025-01-11 16:27

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 服務器安裝Python的完整指南

    本文將為您提供服務器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 服務器

    STUN 服務器是一個網絡服務器,可以協助網絡設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 服務器做詳…

    編程 2025-04-29
  • Centos7配置靜態ip

    本文將詳細闡述如何在Centos7系統中配置靜態ip。 一、查看網絡接口 在配置靜態ip之前,我們首先需要查看系統中的網絡接口,以確定我們需要配置的網卡是哪一個。 ifconfig…

    編程 2025-04-29
  • 解決docker-compose 容器時間和服務器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與服務器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python載入Cookie錯誤解決方法用法介紹

    本文將從多個方面詳細闡述Python載入Cookie錯誤的解決方法,希望能對讀者有所幫助。 一、Cookie錯誤常見原因 1、Cookie過期:當Cookie過期時,載入Cooki…

    編程 2025-04-29
  • Python檢測IP連通

    Python是一門強大的編程語言,常用於網絡開發、數據分析等領域。IP地址是網絡通信的基礎,在網絡通信中,有時需要檢測IP地址是否連通。下面將從多個方面介紹Python檢測IP連通…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 如何選擇MySQL服務器文件權限

    MySQL是一種流行的關係型數據庫管理系統。在安裝MySQL時,選擇正確的文件權限是保證安全和性能的重要步驟。以下是一些指導您選擇正確權限的建議。 一、權限選擇 MySQL服務器需…

    編程 2025-04-27

發表回復

登錄後才能評論