使用嵌入php獲取瀏覽器信息,使用嵌入php獲取瀏覽器信息

本文目錄一覽:

怎樣用php獲取用戶瀏覽器,操作系統,本地天氣

$_SERVER[‘HTTP_USER_AGENT’] 可以獲取用戶的操作系統和瀏覽器,不過客戶端傳過來的數據,用戶可以偽造

獲取天氣得調用別人的接口,新浪,中國氣象網都提供接口,你調用就可以了

PHP中怎麼獲取瀏覽器地址?

我想樓主應該是要全部的地址吧,例“ ”如果是這樣的話,我有個建議,就是在你要進這個頁面的時候,再連接的時候寫一個隱藏字段傳過來個這個地址不就行了嗎,可以寫一個JS的函數function href(a){ return a.href;}或者別的方法,我上面寫的不對,我只是說個大概意思,不知道對你有沒有幫助!

php 怎麼獲取瀏覽器的類型?

獲取客戶端瀏覽器、IP地址操作系統類型等的方法(PHP)

=========================

獲取客戶端信息(瀏覽器、IP、OS)

?php

/*

作用:取得客戶端信息

參數:

返回:指定的資料

使用:

$code = new clientGetObj;

1、瀏覽器:$str = $code-getBrowse();

2、IP地址:$str = $code-getIP();

4、操作系統:$str = $code-getOS();

*/

class clientGetObj

{

function getBrowse()

{

global $_SERVER;

$Agent = $_SERVER[‘HTTP_USER_AGENT’];

$browser = ”;

$browserver = ”;

$Browser = array(‘Lynx’, ‘MOSAIC’, ‘AOL’, ‘Opera’, ‘JAVA’, ‘MacWeb’, ‘WebExplorer’, ‘OmniWeb’);

for($i = 0; $i = 7; $i ++){

if(strpos($Agent, $Browsers[$i])){

$browser = $Browsers[$i];

$browserver = ”;

}

}

if(ereg(‘Mozilla’, $Agent) !ereg(‘MSIE’, $Agent)){

$temp = explode(‘(‘, $Agent);

$Part = $temp[0];

$temp = explode(‘/’, $Part);

$browserver = $temp[1];

$temp = explode(‘ ‘, $browserver);

$browserver = $temp[0];

$browserver = preg_replace(‘/([d.]+)/’, ‘\1’, $browserver);

$browserver = $browserver;

$browser = ‘Netscape Navigator’;

}

if(ereg(‘Mozilla’, $Agent) ereg(‘Opera’, $Agent)) {

$temp = explode(‘(‘, $Agent);

$Part = $temp[1];

$temp = explode(‘)’, $Part);

$browserver = $temp[1];

$temp = explode(‘ ‘, $browserver);

$browserver = $temp[2];

$browserver = preg_replace(‘/([d.]+)/’, ‘\1’, $browserver);

$browserver = $browserver;

$browser = ‘Opera’;

}

if(ereg(‘Mozilla’, $Agent) ereg(‘MSIE’, $Agent)){

$temp = explode(‘(‘, $Agent);

$Part = $temp[1];

$temp = explode(‘;’, $Part);

$Part = $temp[1];

$temp = explode(‘ ‘, $Part);

$browserver = $temp[2];

$browserver = preg_replace(‘/([d.]+)/’,’\1′,$browserver);

$browserver = $browserver;

$browser = ‘Internet Explorer’;

}

if($browser != ”){

$browseinfo = $browser.’ ‘.$browserver;

} else {

$browseinfo = false;

}

return $browseinfo;

}

function getIP ()

{

global $_SERVER;

if (getenv(‘HTTP_CLIENT_IP’)) {

$ip = getenv(‘HTTP_CLIENT_IP’);

} else if (getenv(‘HTTP_X_FORWARDED_FOR’)) {

$ip = getenv(‘HTTP_X_FORWARDED_FOR’);

} else if (getenv(‘REMOTE_ADDR’)) {

$ip = getenv(‘REMOTE_ADDR’);

} else {

$ip = $_SERVER[‘REMOTE_ADDR’];

}

return $ip;

}

function getOS ()

{

global $_SERVER;

$agent = $_SERVER[‘HTTP_USER_AGENT’];

$os = false;

if (eregi(‘win’, $agent) strpos($agent, ’95’)){

$os = ‘Windows 95’;

}

else if (eregi(‘win 9x’, $agent) strpos($agent, ‘4.90’)){

$os = ‘Windows ME’;

}

else if (eregi(‘win’, $agent) ereg(’98’, $agent)){

$os = ‘Windows 98’;

}

else if (eregi(‘win’, $agent) eregi(‘nt 5.1’, $agent)){

$os = ‘Windows XP’;

}

else if (eregi(‘win’, $agent) eregi(‘nt 5’, $agent)){

$os = ‘Windows 2000’;

}

else if (eregi(‘win’, $agent) eregi(‘nt’, $agent)){

$os = ‘Windows NT’;

}

else if (eregi(‘win’, $agent) ereg(’32’, $agent)){

$os = ‘Windows 32’;

}

else if (eregi(‘linux’, $agent)){

$os = ‘Linux’;

}

else if (eregi(‘unix’, $agent)){

$os = ‘Unix’;

}

else if (eregi(‘sun’, $agent) eregi(‘os’, $agent)){

$os = ‘SunOS’;

}

else if (eregi(‘ibm’, $agent) eregi(‘os’, $agent)){

$os = ‘IBM OS/2’;

}

else if (eregi(‘Mac’, $agent) eregi(‘PC’, $agent)){

$os = ‘Macintosh’;

}

else if (eregi(‘PowerPC’, $agent)){

$os = ‘PowerPC’;

}

else if (eregi(‘AIX’, $agent)){

$os = ‘AIX’;

}

else if (eregi(‘HPUX’, $agent)){

$os = ‘HPUX’;

}

else if (eregi(‘NetBSD’, $agent)){

$os = ‘NetBSD’;

}

else if (eregi(‘BSD’, $agent)){

$os = ‘BSD’;

}

else if (ereg(‘OSF1’, $agent)){

$os = ‘OSF1’;

}

else if (ereg(‘IRIX’, $agent)){

$os = ‘IRIX’;

}

else if (eregi(‘FreeBSD’, $agent)){

$os = ‘FreeBSD’;

}

else if (eregi(‘teleport’, $agent)){

$os = ‘teleport’;

}

else if (eregi(‘flashget’, $agent)){

$os = ‘flashget’;

}

else if (eregi(‘webzip’, $agent)){

$os = ‘webzip’;

}

else if (eregi(‘offline’, $agent)){

$os = ‘offline’;

}

else {

$os = ‘Unknown’;

}

return $os;

}

}

?

獲取IP地址

說明:使用 Request.ServerVariables(“REMOTE_ADDR”) 來取得客戶端的 IP 地址,但如果客戶端是使用代理服務器來訪問,那取到的就是代理服務器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理服務器取得客戶端的真實IP 地址,就要使用Request.ServerVariables(“HTTP_X_FORWARDED_FOR”) 來讀取。不過要注意的事,並不是每個代理服務器都能用 Request.ServerVariables(“HTTP_X_FORWARDED_FOR”) 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理服務器的 IP。

還有一點需要注意的是:如果客戶端沒有通過代理服務器來訪問,那麼用 Request.ServerVariables(“HTTP_X_FORWARDED_FOR”) 取到的值將是空的。因此,如果要在程序中使用此方法,可以這樣處理:

……

userip = Request.ServerVariables(“HTTP_X_FORWARDED_FOR”)

If userip = “” Then userip = Request.ServerVariables(“REMOTE_ADDR”)

……

即:如果客戶端通過代理服務器,則取 HTTP_X_FORWARDED_FOR 的值,如果沒通過代理服務器,就取 REMOTE_ADDR 的值。

方法一:

function real_ip($type)

{

if ($_SERVER[“HTTP_X_FORWARDED_FOR”])

{

if ($_SERVER[“HTTP_CLIENT_IP”])

{

$proxy = $_SERVER[“HTTP_CLIENT_IP”];

}

else

{

$proxy = $_SERVER[“REMOTE_ADDR”];

}

$ip = $_SERVER[“HTTP_X_FORWARDED_FOR”];

}

else

{

if ($_SERVER[“HTTP_CLIENT_IP”])

{

$ip = $_SERVER[“HTTP_CLIENT_IP”];

}

else

{

$ip = $_SERVER[“REMOTE_ADDR”];

}

}

if($type==’ip’)return $ip;

if($type==’proxy’)return $proxy;

}

方法二:

?

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”;

}

}

Echo ip();

?

方法三:

01 : function ipCheck() {

02 : if (getenv( ‘HTTP_CLIENT_IP’ )) {

03 : $ip = getenv( ‘HTTP_CLIENT_IP’ );

04 : }

05 : elseif (getenv( ‘HTTP_X_FORWARDED_FOR’ )) {

06 : $ip = getenv( ‘HTTP_X_FORWARDED_FOR’ );

07 : }

08 : elseif (getenv( ‘HTTP_X_FORWARDED’ )) {

09 : $ip = getenv( ‘HTTP_X_FORWARDED’ );

10 : }

11 : elseif (getenv( ‘HTTP_FORWARDED_FOR’ )) {

12 : $ip = getenv( ‘HTTP_FORWARDED_FOR’ );

13 : }

14 : elseif (getenv( ‘HTTP_FORWARDED’ )) {

15 : $ip = getenv( ‘HTTP_FORWARDED’ );

16 : }

17 : else {

18 : $ip = $_SERVER[ ‘REMOTE_ADDR’ ];

19 : }

20 : return $ip;

21 : }

php怎麼獲取瀏覽器的類型?

可以使用預定義變量:

$_SERVER[‘HTTP_USER_AGENT’]

返回如下:

Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7

php,“超文本預處理器”是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

php 如何獲取服務器的信息

服務器變量 $_SERVER 詳解:

1、$_SESSION[‘PHP_SELF’] — 獲取當前正在執行腳本的文件名

2、$_SERVER[‘SERVER_PROTOCOL’] — 請求頁面時通信協議的名稱和版本。例如,“HTTP/1.0”。

3、$_SERVER[‘REQUEST_TIME’] — 請求開始時的時間戳。從 PHP 5.1.0 起有效。和time函數效果一樣。

4、$_SERVER[‘argv’] — 傳遞給該腳本的參數。我試了下,get方法可以得到$_SERVER[‘argv’][0];post方法無法給他賦值。

5、$_SERVER[‘SERVER_NAME’] — 返回當前主機名。

6、$_SERVER[‘SERVER_SOFTWARE’] — 服務器標識的字串,在響應請求時的頭信息中給出。 如Microsoft-IIS/6.0

7、$_SERVER[‘REQUEST_METHOD’] — 訪問頁面時的請求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

8、$_SERVER[‘QUERY_STRING’] — 查詢(query)的字符串(URL 中第一個問號 ? 之後的內容)。

9、$_SERVER[‘DOCUMENT_ROOT’] — 當前運行腳本所在的文檔根目錄。在服務器配置文件中定義。 如E:\server

10、$_SERVER[‘HTTP_ACCEPT’] — 當前請求的 Accept: 頭信息的內容。

11、$_SERVER[‘HTTP_ACCEPT_CHARSET’] — 當前請求的 Accept-Charset: 頭信息的內容。例如:“iso-8859-1,*,utf-8”。

12、$_SERVER[‘HTTP_ACCEPT_ENCODING’] — 當前請求的 Accept-Encoding: 頭信息的內容。例如:“gzip”。

13、$_SERVER[‘HTTP_ACCEPT_LANGUAGE’] — 當前請求的 Accept-Language: 頭信息的內容。例如:“en”。

14、$_SERVER[‘HTTP_CONNECTION’] — 當前請求的 Connection: 頭信息的內容。例如:“Keep-Alive”。

15、$_SERVER[‘HTTP_HOST’] — 當前請求的 Host: 頭信息的內容。

16、$_SERVER[‘HTTP_REFERER’] — 鏈接到當前頁面的前一頁面的 URL 地址。

17、$_SERVER[‘HTTP_USER_AGENT’] — 返回用戶使用的瀏覽器信息。也可以使用 get_browser() 得到此信息。

18、$_SERVER[‘HTTPS’] — 如果通過https訪問,則被設為一個非空的值,否則返回off.

19、$_SERVER[‘REMOTE_ADDR’] — 正在瀏覽當前頁面用戶的 IP 地址。

20、$_SERVER[‘REMOTE_HOST’] — 正在瀏覽當前頁面用戶的主機名。反向域名解析基於該用戶的 REMOTE_ADDR。如本地測試返回127.0.0.1

21、$_SERVER[‘REMOTE_PORT’] — 用戶連接到服務器時所使用的端口。我在本機測試沒通過,不知道什麼原因。

22、$_SERVER[‘SCRIPT_FILENAME’] — 當前執行腳本的絕對路徑名。如返回E:\server\index.php

23、$_SERVER[‘SERVER_ADMIN’] — 該值指明了 Apache 服務器配置文件中的 SERVER_ADMIN 參數。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值

24、$_SERVER[‘SERVER_PORT’] — 服務器所使用的端口。默認為“80”。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 端口。

25、$_SERVER[‘SERVER_SIGNATURE’] — 包含服務器版本和虛擬主機名的字符串。

26、$_SERVER[‘PATH_TRANSLATED’] — 當前腳本所在文件系統(不是文檔根目錄)的基本路徑。這是在服務器進行虛擬到真實路徑的映像後的結果。 Apache 2 用 戶可以使用 httpd.conf 中的 AcceptPathInfo On 來定義 PATH_INFO。

27、$_SERVER[‘SCRIPT_NAME’] — 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。

28、$_SERVER[‘REQUEST_URI’] — 訪問此頁面所需的 URI。例如,“/index.html”。

29、$_SERVER[‘PHP_AUTH_DIGEST’] — 當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變量被設置成客戶端發送的“Authorization”HTTP 頭內容(以便作進一步的認證操作)。

30、$_SERVER[‘PHP_AUTH_USER’]– 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。

31、$_SERVER[‘PHP_AUTH_PW’] — 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。

32、$_SERVER[‘AUTH_TYPE’]–當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/303760.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-31 11:50
下一篇 2024-12-31 11:50

相關推薦

  • PHP和Python哪個好找工作?

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

    編程 2025-04-29
  • 如何解決web瀏覽器雙擊事件時差

    本文將從以下幾個方面對web瀏覽器雙擊事件時差進行詳細闡述,並提供解決方法。 一、雙擊事件延時設置 1、問題描述:在web瀏覽器中,雙擊事件默認會延時一定的時間才能觸發該事件,這個…

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

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

    編程 2025-04-29
  • Java 監控接口返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控接口返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • 使用Python模擬手機瀏覽器的方法

    解答如何使用Python模擬手機瀏覽器,並且給出示例代碼。 一、安裝Selenium庫 使用Python模擬手機瀏覽器需要使用Selenium庫。 首先,使用pip命令進行安裝: …

    編程 2025-04-28
  • 使用Python爬蟲獲取電影信息的實現方法

    本文將介紹如何使用Python編寫爬蟲程序,來獲取和處理電影數據。需要了解基本的Python編程語言知識,並使用BeautifulSoup庫和Requests庫進行爬取。 一、準備…

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

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

    編程 2025-04-28
  • 谷歌瀏覽器窗口大小調整

    谷歌瀏覽器是當今最流行的網絡瀏覽器之一,它的窗口大小調整是用戶操作其中的一個重要部分。本文將從多個方面對谷歌瀏覽器窗口大小調整做詳細的闡述。 一、窗口大小調整的基礎操作 谷歌瀏覽器…

    編程 2025-04-28
  • 如何在電腦上下載安裝谷歌瀏覽器?

    想要在電腦上使用谷歌瀏覽器,我們需要先進行下載和安裝。下面,本文將從多個方面詳細闡述如何在電腦上下載安裝谷歌瀏覽器。 一、到谷歌瀏覽器官方網站下載 谷歌瀏覽器官方網站是我們下載谷歌…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28

發表回復

登錄後才能評論