php获取服务器名,php获取服务器信息

本文目录一览:

怎样获取服务器根地址 php

用$_SERVER[‘HTTP_HOST’] #命令即可获取

扩展:

PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。

$_SERVER[‘PHP_SELF’] #当前正在执行脚本的文件名,与 document root相关。

$_SERVER[‘argv’] #传递给该脚本的参数。

$_SERVER[‘argc’] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。

$_SERVER[‘GATEWAY_INTERFACE’] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。

$_SERVER[‘SERVER_NAME’] #当前运行脚本所在服务器主机的名称。

$_SERVER[‘SERVER_SOFTWARE’] #服务器标识的字串,在响应请求时的头部中给出。

$_SERVER[‘SERVER_PROTOCOL’] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

$_SERVER[‘REQUEST_METHOD’] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

$_SERVER[‘QUERY_STRING’] #查询(query)的字符串。

$_SERVER[‘DOCUMENT_ROOT’] #当前运行脚本所在的文档根目录。在服务器配置文件中定义。

$_SERVER[‘HTTP_ACCEPT’] #当前请求的 Accept: 头部的内容。

$_SERVER[‘HTTP_ACCEPT_CHARSET’] #当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。

$_SERVER[‘HTTP_ACCEPT_ENCODING’] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。

$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]#当前请求的 Accept-Language: 头部的内容。例如:“en”。

$_SERVER[‘HTTP_CONNECTION’] #当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。

$_SERVER[‘HTTP_HOST’] #当前请求的 Host: 头部的内容。

$_SERVER[‘HTTP_REFERER’] #链接到当前页面的前一页面的 URL 地址。

$_SERVER[‘HTTP_USER_AGENT’] #当前请求的 User_Agent: 头部的内容。

$_SERVER[‘HTTPS’] — 如果通过https访问,则被设为一个非空的值(on),否则返回off

$_SERVER[‘REMOTE_ADDR’] #正在浏览当前页面用户的 IP 地址。

$_SERVER[‘REMOTE_HOST’] #正在浏览当前页面用户的主机名。

$_SERVER[‘REMOTE_PORT’] #用户连接到服务器时所使用的端口。

$_SERVER[‘SCRIPT_FILENAME’] #当前执行脚本的绝对路径名。

$_SERVER[‘SERVER_ADMIN’] #管理员信息

$_SERVER[‘SERVER_PORT’] #服务器所使用的端口

$_SERVER[‘SERVER_SIGNATURE’] #包含服务器版本和虚拟主机名的字符串。

$_SERVER[‘PATH_TRANSLATED’] #当前脚本所在文件系统(不是文档根目录)的基本路径。

$_SERVER[‘SCRIPT_NAME’] #包含当前脚本的路径。这在页面需要指向自己时非常有用。

$_SERVER[‘REQUEST_URI’] #访问此页面所需的 URI。例如,“/index.html”。

$_SERVER[‘PHP_AUTH_USER’] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。

$_SERVER[‘PHP_AUTH_PW’] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。

用php来获得客户端服务器ip的方法

?php

echo

“当前脚本服务器的主机名:”.gethostbyaddr($_SERVER[‘REMOTE_ADDR’]).”br

/hr

/”;

echo

“获得当前运行PHP脚本(页面)所在的服务器的

IP

地址:”.$_SERVER[‘SERVER_ADDR’].”br

/hr

/”;

echo

“获得当前运行PHP脚本(页面)所在的服务器的

主机名:”.$_SERVER[‘SERVER_NAME’];

echo

‘hr’;

echo

‘客户端ip’.

$_SERVER[‘REMOTE_ADDR’];

echo

‘br’;

echo

‘客户端ip’.getenv(‘REMOTE_ADDR’);

echo

“br”;

echo

‘服务器主机ip’.gethostbyname(“”);

?

运行出来:

当前脚本服务器的主机名:XYL-PC

获得当前运行PHP脚本(页面)所在的服务器的

IP

地址:127.0.0.1

获得当前运行PHP脚本(页面)所在的服务器的

主机名:localhost

客户端ip127.0.0.1

客户端ip127.0.0.1

服务器主机ip61.135.169.105

php怎么获取域名之后的url

1,$_SERVER[“QUERY_STRING”]

说明:查询(query)的字符串

2,$_SERVER[“REQUEST_URI”]

说明:访问此页面所需的URI

3,$_SERVER[“SCRIPT_NAME”]

说明:包含当前脚本的路径

4,$_SERVER[“PHP_SELF”]

说明:当前正在执行脚本的文件名

实例:

1, (直接打开主页)

结果:

$_SERVER[“QUERY_STRING”] = “”

$_SERVER[“REQUEST_URI”] = “/”

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

2, (附带查询)

结果:

$_SERVER[“QUERY_STRING”] = “p=222”

$_SERVER[“REQUEST_URI”] = “/?p=222”

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

3,;q=biuuu

结果:

$_SERVER[“QUERY_STRING”] = “p=222q=biuuu”

$_SERVER[“REQUEST_URI”] = “/index.php?p=222q=biuuu”

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

$_SERVER[“QUERY_STRING”]获取查询语句,实例中可知,获取的是?后面的值

$_SERVER[“REQUEST_URI”] 获取后面的值,包括/

$_SERVER[“SCRIPT_NAME”] 获取当前脚本的路径,如:index.php

$_SERVER[“PHP_SELF”] 当前正在执行脚本的文件名

当前url:”http://”.$_SERVER[‘HTTP_HOST’].$_SERVER[‘PHP_SELF’]

总结一下,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。

$_SERVER[“REQUEST_URI”] :获取当前请求的完整的(除域名的)url。。。

uchome系统中处理技巧:

代码

//处理REQUEST_URI

if(!isset($_SERVER[‘REQUEST_URI’])) {

$_SERVER[‘REQUEST_URI’] = $_SERVER[‘PHP_SELF’];

if(isset($_SERVER[‘QUERY_STRING’])) $_SERVER[‘REQUEST_URI’] .= ‘?’.$_SERVER[‘QUERY_STRING’];

}

if($_SERVER[‘REQUEST_URI’]) {

$temp = urldecode($_SERVER[‘REQUEST_URI’]);

if(strexists($temp, ”) || strexists($temp, ‘”‘)) {

$_GET = shtmlspecialchars($_GET);//XSS

}

}

代码如下:

代码

?php

echo $_SERVER[‘DOCUMENT_ROOT’].”br”; //获得服务器文档根变量

echo $_SERVER[‘PHP_SELF’].”br”; //获得执行该代码的文件服务器绝对路径的变量

echo __FILE__.”br”; //获得文件的文件系统绝对路径的变量

echo dirname(__FILE__); //获得文件所在的文件夹路径的函数

?

//server函数

$_SERVER[“HTTP_REFERER”]=

$_SERVER[“HTTP_ACCEPT_LANGUAGE”]=zh-cn

$_SERVER[“HTTP_ACCEPT_ENCODING”]=gzip, deflate

$_SERVER[“HTTP_USER_AGENT”]=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

$_SERVER[“HTTP_HOST”]=localhost

$_SERVER[“HTTP_CONNECTION”]=Keep-Alive

$_SERVER[“PATH”]=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\MySQL\MySQL Server 5.0\bin;C:\php;C:\php\ext

$_SERVER[“SystemRoot”]=C:\WINDOWS

$_SERVER[“COMSPEC”]=C:\WINDOWS\system32\cmd.exe

$_SERVER[“PATHEXT”]=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

$_SERVER[“WINDIR”]=C:\WINDOWS

$_SERVER[“SERVER_SIGNATURE”]=

Apache/2.0.55 (Win32) PHP/5.1.1 Server at localhost Port 80 \\使用的何服务器

$_SERVER[“SERVER_SOFTWARE”]=Apache/2.0.55 (Win32) PHP/5.1.1

$_SERVER[“SERVER_NAME”]=localhost \\服务器名称

$_SERVER[“SERVER_ADDR”]=127.0.0.1

$_SERVER[“SERVER_PORT”]=80 \\服务器端口

$_SERVER[“REMOTE_ADDR”]=127.0.0.1

$_SERVER[“DOCUMENT_ROOT”]=D:/lianxi \\网站的主目录

$_SERVER[“SERVER_ADMIN”]=sss@163.com \\安装APACHE时设置的邮箱

$_SERVER[“SCRIPT_FILENAME”]=D:/lianxi/lianxi/servervalues.php \\当前的网页的绝对路径,

$_SERVER[“REMOTE_PORT”]=1076 \\远程端口

$_SERVER[“GATEWAY_INTERFACE”]=CGI/1.1

$_SERVER[“SERVER_PROTOCOL”]=HTTP/1.1

$_SERVER[“REQUEST_METHOD”]=GET

$_SERVER[“QUERY_STRING”]=\\获取?号后面的内容

$_SERVER[“REQUEST_URI”]=例子:/lianxi/servervalues.php?a=1b=2

$_SERVER[“SCRIPT_NAME”]=例子:/lianxi/servervalues.php

$_SERVER[“PHP_SELF”]=/lianxi/servervalues.php \\返回当前网页的相对路径.

$_SERVER[“REQUEST_TIME”]=1179190013 \\运行时间 单位为十万分之一毫秒

$_SERVER[“argv”]=Array

$_SERVER[“argc”]=0

1,$_SERVER[“QUERY_STRING”]

说明:查询(query)的字符串

2,$_SERVER[“REQUEST_URI”]

说明:访问此页面所需的URI

3,$_SERVER[“SCRIPT_NAME”]

说明:包含当前脚本的路径

4,$_SERVER[“PHP_SELF”]

说明:当前正在执行脚本的文件名

实例:

1, (直接打开主页)

结果:

$_SERVER[“QUERY_STRING”] = “”

$_SERVER[“REQUEST_URI”] = “/”

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

2, (附带查询)

结果:

$_SERVER[“QUERY_STRING”] = “p=222″

$_SERVER[“REQUEST_URI”] = “/?p=222″

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

3,;q=biuuu

结果:

$_SERVER[“QUERY_STRING”] = “p=222q=biuuu”

$_SERVER[“REQUEST_URI”] = “/index.php?p=222q=biuuu”

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

$_SERVER[“QUERY_STRING”]获取查询语句,实例中可知,获取的是?后面的值

$_SERVER[“REQUEST_URI”] 获取后面的值,包括/

$_SERVER[“SCRIPT_NAME”] 获取当前脚本的路径,如:index.php

$_SERVER[“PHP_SELF”] 当前正在执行脚本的文件名

代码

?php

/**

__FILE__ ,

getcwd(),

$_SERVER[“REQUEST_URI”],

$_SERVER[“SCRIPT_NAME”],

$_SERVER[“PHP_SELF”],

$_SERVER[“SCRIPT_FILENAME”],

来观察一下这些变量或函数的异同.

假设有一个请求地址为:

而test.php 的完整路径是: D:/server/www/example/test.php

1) getcwd()

将得到浏览器请求的页面文件所在的目录. 即test.php 文件所在的目录: D:/server/www/example/ ,

如果在test.php 执行了 require 或 include 语句, 比如 inculde(”test_dir/test2.php”),

那么在 test2.php 里 getcwd()函数 返回的也将是 test.php 所在的目录.

2) __FILE__

一个魔术变量, 用它将得到 __FILE__ 变量所在文件的完整路径,

比如: test.php 里 __FILE__ 将得到 D:/server/www/example/test.php ,

test_dir/test2.php 里的 __FILE__ 将得到 D:/server/www/example/test_dir/test2.php

3) $_SERVER[“SCRIPT_FILENAME”]

将得到浏览器请求的页面文件的完整路径.

test.php 和 test_dir/test2.php 里用 $_SERVER[“SCRIPT_NAME”] 都将得到 D:/server/www/example/test.php.

4) $_SERVER[“SCRIPT_NAME”]

将得到浏览器请求的页面文件的文件名,注意: 与 $_SERVER[“SCRIPT_NAME”] 不同, 此变量只得到文件名而不包含路径,

在test.php 与 test_dir/test2.php 用$_SERVER[“SCRIPT_NAME”] 得到的都将是 test.php.

当然, 在test.php 与 test_dir/test2.php 执行 basename($_SERVER[“SCRIPT_FILENAME”]) 与 $_SERVER[“SCRIPT_NAME”] 相同.

执行 在test.php 与 test_dir/test2.php 执行 realpath(”test.php”) 得到的结果与 $_SERVER[“SCRIPT_FILENAME”] 相同.

5) $_SERVER[“PHP_SELF”]

将得到浏览器请求页面的文件名, 并剥掉问号 ? 后的内容, 注意:不包含路径,

比如在客户端里请求 ;name=Tom,

那么test.php 和 test_dir/test2.php 的 $_SERVER[“PHP_SELF”] 都将得到 “test.php”。“age=20name=Tom”被剥掉。

而如果客户端里请求 ;name=Tom,

那么test.php 和 test_dir/test2.php 的 $_SERVER[“PHP_SELF”] 都将得到 “test.php/age=20name=Tom”。

6) $_SERVER[“REQUEST_URI”]

将得到浏览器请求页面的文件名, 以及文件名之后的所有内容(注意: 井号 # 之后的内容将被略去),

比如在客户端里请求 ;name=Tom,

那么test.php 和 test_dir/test2.php 的 $_SERVER[“REUEST_URI”] 都将得到 “test.php”。“age=20name=Tom”被剥掉。

而如果客户端里请求 ;name=Tom,

那么test.php 和 test_dir/test2.php 的 $_SERVER[“REQUEST_URI”] 都将得到 “test.php/age=20name=Tom”。

*/

// test.php:

echo “test1.php variables br /”;

echo “getcwd: “, getcwd(), “br /”;

echo “__FILE__: “, __FILE__, “br /”;

echo “REQUEST_URI: “, $_SERVER[“REQUEST_URI”], “br /”;

echo “SCRIPT_NAME: “, $_SERVER[“SCRIPT_NAME”], “br /”;

echo “PHP_SELF: “, $_SERVER[“PHP_SELF”], “br /”;

echo “SCRIPT_FILENAME “, $_SERVER[“SCRIPT_FILENAME”] , “br /”;

// 把 test2.php 包含进来, 在 test2.php 里输出上面的变量,看有什么不同:

include_once(”test2/test2.php”);

?

如何使用PHP获取客户端及服务器端IP的封装类

本文实例讲述了PHP获取客户端及服务器端IP的封装类。分享给大家供大家参考,具体如下:

客户端IP相关的变量:

1. $_SERVER[‘REMOTE_ADDR’]; 客户端IP,有可能是用户的IP,也有可能是代理的IP。

2. $_SERVER[‘HTTP_CLIENT_IP’]; 代理端的IP,可能存在,可伪造。

3. $_SERVER[‘HTTP_X_FORWARDED_FOR’]; 用户是在哪个IP使用的代理,可能存在,可以伪造。

服务器端IP相关的变量:

1. $_SERVER[“SERVER_NAME”],需要使用函数gethostbyname()获得。这个变量无论在服务器端还是客户端均能正确显示。

2. $_SERVER[“SERVER_ADDR”],在服务器端测试:127.0.0.1(这个与httpd.conf中BindAddress的设置值相关)。在客户端测试结果正确。

类如下:

class getIP{

function clientIP(){

$cIP = getenv(‘REMOTE_ADDR’);

$cIP1 = getenv(‘HTTP_X_FORWARDED_FOR’);

$cIP2 = getenv(‘HTTP_CLIENT_IP’);

$cIP1 ? $cIP = $cIP1 : null;

$cIP2 ? $cIP = $cIP2 : null;

return $cIP;

}

function serverIP(){

return gethostbyname($_SERVER[“SERVER_NAME”]);

}

}

$getIP = new getIP();

$clientIp = getIP::clientIP();

$serverIp = getIP::serverIP();

echo ‘Client IP is ‘,$clientIp,’br /’;

echo ‘Server IP is ‘,$serverIp,’br /’;

PHP怎么获取系统信息和服务器详细信息

获取系统类型及版本号: php_uname() (例:Windows NT COMPUTER 5.1 build 2600)

只获取系统类型: php_uname(‘s’) (或:PHP_OS,例:Windows NT)

只获取系统版本号: php_uname(‘r’) (例:5.1)

获取PHP运行方式: php_sapi_name() (PHP run mode:apache2handler)

获取前进程用户名: Get_Current_User()

获取PHP版本: PHP_VERSION

获取Zend版本: Zend_Version()

获取PHP安装路径: DEFAULT_INCLUDE_PATH

获取当前文件绝对路径: __FILE__

获取Http请求中Host值: $_SERVER[“HTTP_HOST”] (返回值为域名或IP)

获取服务器IP: GetHostByName($_SERVER[‘SERVER_NAME’])

接受请求的服务器IP: $_SERVER[“SERVER_ADDR”] (有时候获取不到,推荐用:GetHostByName($_SERVER[‘SERVER_NAME’]))

获取客户端IP: $_SERVER[‘REMOTE_ADDR’]

获取服务器解译引擎: $_SERVER[‘SERVER_SOFTWARE’]

获取服务器CPU数量: $_SERVER[‘PROCESSOR_IDENTIFIER’]

获取服务器系统目录: $_SERVER[‘SystemRoot’]

获取服务器域名: $_SERVER[‘SERVER_NAME’] (建议使用:$_SERVER[“HTTP_HOST”])

获取用户域名: $_SERVER[‘USERDOMAIN’]

获取服务器语言: $_SERVER[‘HTTP_ACCEPT_LANGUAGE’]

获取服务器Web端口: $_SERVER[‘SERVER_PORT’]

访问用户的浏览器信息: $_SERVER[‘HTTP_USER_AGENT’];

script language=”JavaScript”

document.write(“浏览器名称: “+navigator.appName+”br”);

document.write(“浏览器版本号: “+navigator.appVersion+”br”);

document.write(“系统语言: “+navigator.systemLanguage+”br”);

document.write(“系统平台: “+navigator.platform+”br”);

document.write(“浏览器是否支持cookie: “+navigator.cookieEnabled+”br”);

/script

php 获取服务器计算机名和服务器域名

1、做成web服务器需要满足:域名或者公网ip,电脑安装配置web服务,开启80端口允许访问,网站程序。

2、域名或者公网ip,这一点一般家用宽带没有固定的公网ip,常用的动态域名解析花生壳,科迈动态解析,建议申请使用花生壳动态域名解析,并设置到路由器上,这样网站的访问域名是花生壳的子域名。

3、如果有公网固定ip,建议购买一个域名解析到这个ip上,这个公网ip可以在电脑直接设定。web绑定,防火墙允许80端口就可以了。

4、电脑安装配置web服务,这个条件比较好实现 ,找个服务器操作系统,如win2003系统,安装上iis组件就可以了,默认80就打开了,然后再配置一下程序需要的环境。

5、如果.net程序就安装net framwork相应版本,如果php就配置php+mysql环境。

6、家用宽带默认80端口在路由器不开放的,需要在路由器上做端口映射,将个人电脑ip 80端口通过宽带路由映射出去。

7、网站程序,自己会开发了可以自己做,不会了到网上下载一些开源程序就可以了。

原创文章,作者:ZCXTB,如若转载,请注明出处:https://www.506064.com/n/317309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
ZCXTBZCXTB
上一篇 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
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 解决docker-compose 容器时间和服务器时间不同步问题

    docker-compose是一种工具,能够让您使用YAML文件来定义和运行多个容器。然而,有时候容器的时间与服务器时间不同步,导致一些不必要的错误和麻烦。以下是解决方法的详细介绍…

    编程 2025-04-29
  • Java 监控接口返回信息报错信息怎么处理

    本文将从多个方面对 Java 监控接口返回信息报错信息的处理方法进行详细的阐述,其中包括如何捕获异常、如何使用日志输出错误信息、以及如何通过异常处理机制解决报错问题等等。以下是详细…

    编程 2025-04-29
  • 使用Python爬虫获取电影信息的实现方法

    本文将介绍如何使用Python编写爬虫程序,来获取和处理电影数据。需要了解基本的Python编程语言知识,并使用BeautifulSoup库和Requests库进行爬取。 一、准备…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • Python爬取网页信息

    本文将从多个方面对Python爬取网页信息做详细的阐述。 一、爬虫介绍 爬虫是一种自动化程序,可以模拟人对网页进行访问获取信息的行为。通过编写代码,我们可以指定要获取的信息,将其从…

    编程 2025-04-28
  • 如何使用Python执行Shell命令并获取执行过程信息

    本文将介绍如何使用Python执行Shell命令并获取执行过程信息。我们将从以下几个方面进行阐述: 一、执行Shell命令 Python内置的subprocess模块可以方便地执行…

    编程 2025-04-28

发表回复

登录后才能评论