当前位置:  编程技术>php
本页文章导读:
    ▪php获取网站地理位置及操作系统信息的代码分享      1,php代码部分 <?php /** * 获取网站地理位置 * 获取网站操作系统信息 * edit by www. */ error_reporting(E_ERROR); header(“content-Type: text/html; charset=gb2312″); set_time_limit(120); $host = isset($_POST['url']).........
    ▪php的$_SERVER参数详解(附实例)      $_SERVER参数详细说明:   $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,包含文件夹路径与 document root相关。 $_SERVER['argv'] #传递给该脚本的参数,返回数组形式 $_SERVER['argc'] #包含传递给程序.........
    ▪php获取站点的来路域名的方法      所谓“来路”,即从哪里点击了网站的链接,即,从什么页面连接到当前网站。 在php中,可以借助全局数组变量$_SERVER['HTTP_REFERER']来获取当前页的来路地址。 比如,以下代码路径在http://wwww./.........

[1]php获取网站地理位置及操作系统信息的代码分享
    来源: 互联网  发布时间: 2013-12-24

1,php代码部分

<?php
/**
* 获取网站地理位置
* 获取网站操作系统信息
* edit by www.
*/
error_reporting(E_ERROR);
header(“content-Type: text/html; charset=gb2312″);
set_time_limit(120);
$host = isset($_POST['url']) ? chop(str_replace(‘http://’,”,$_POST['url'])) : ‘ www.2cto.com ’;
$port = isset($_POST['duankou']) ? chop($_POST['duankou']) : ’80′;
$num  = 10;
function microtime_float()
{
        list($usec, $sec) = explode(” “, microtime());
        return ((float)$usec + (float)$sec);
}
function ip138($url)
{
        $host = ‘www.ip138.com’;
        $fp = @fsockopen($host,80,&$errno,&$errstr,3);
        $get = “GET /ips.asp?ip=”.$url.” HTTP/1.1\r\nHost:”.$host.”\r\nConnection: Close\r\n\r\n”;
        @fputs($fp,$get);
        $data = ”;
        while ($fp && !feof($fp))
        $data .= fread($fp, 1024);
        @fclose($fp);
        $s1 = ‘\<table width\=\”80\%\”  border\=\”0\” align\=\”center”\ cellpadding\=\”0\” cellspacing\=\”0\”\>’;
        $s2 = ‘\<\/table\>’;
        $tmp = array();
        preg_match_all(“/”.$s1.”([^~]*?)”.$s2.”/i”,$data,$tmp);
        $tmp1 = array();
        preg_match_all(“/\<li\>([^~]*?)\<\/li\>/i”,$tmp[0][0],$tmp1);
        return $tmp1[0][0].$tmp1[0][1].$tmp1[0][2];
}
function getsoft($host,$port)
{
        $fp = @fsockopen($host,$port,&$errno,&$errstr,3);
        if(!$fp) return ‘unknown’;
        $get = “GET / HTTP/1.1\r\nHost:”.$host.”\r\nConnection: Close\r\n\r\n”;
        @fputs($fp,$get);
        $data = ”;
        while ($fp && !feof($fp))
        $data .= fread($fp, 1024);
        @fclose($fp);
        $array = explode(“\n”,$data);
        $k = 2;
        for($i = 0;$i < 20;$i++)
        {
                if(stristr($array[$i],’Server’)){$k = $i; break;}
        }
        if(!stristr($array[$k],’Server’)) return ‘unknown’;
        else return str_replace(‘Server’,'服务器软件’,$array[$k]);
}
function ping($host,$port)
{
        $time_start = microtime_float();
        $ip = gethostbyname($host);
        $fp = @fsockopen($host,$port,&$errno,&$errstr,1);
        if(!$fp) return ‘Request timed out.<br />’.”\r\n”;
        $get = “GET / HTTP/1.1\r\nHost:”.$host.”\r\nConnection: Close\r\n\r\n”;
        @fputs($fp,$get);
        @fclose($fp);
        $time_end = microtime_float();
        $time = $time_end – $time_start;
        $time = ceil($time * 1000);
        return ‘Reply from ‘.$ip.’: time=’.$time.’ms<br />’;
}
if(isset($_POST['url']) && isset($_POST['duankou']))
{
        echo ip138($host).’<br /><br />’;
        echo ‘<font color=”#FF0000″>’.getsoft($host,$port).’</font><br /><br />’;
        echo ‘Pinging ‘.$host.’ ['.gethostbyname($host).'] with Port:’.$port.’ of data:<br /><br />’.”\r\n”;
        ob_flush();
        flush();
        for($i = 0;$i < $num;$i++)
        {
                echo ping($host,$port);
                ob_flush();
                flush();
                sleep(1);
        }
}
?>

2,页面内容部分

<form method=”POST”>
域名/IP:<input type=”text” name=”url” value=”<?php echo $host;?>” size=”50″>
端口:<input type=”text” name=”duankou” value=”<?php echo $port;?>” size=”10″>
<input type=”submit” value=”ping”>
</form>

    
[2]php的$_SERVER参数详解(附实例)
    来源: 互联网  发布时间: 2013-12-24

$_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)的字符串,也就是传递的参数和值的url.
$_SERVER['DOCUMENT_ROOT'] #当前运行脚本所在的文档根目录。在服务器配置文件中定义,类似于网站的WWW根目录。
$_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['SERVER_NAME']类似,但是这里实际上是有80端口的,也就是说:

$_SERVER['HTTP_HOST'] = $_SERVER['SERVER_NAME']:$_SERVER['SERVER_PORT'];
$_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 认证功能,这个变量便是用户输入的密码。
$_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。

举个例子吧,如下:

<?php
//$_SERVER用例参考
//edit by www.
echo $_SERVER['HTTP_ACCEPT_LANGUAGE']; //浏览器语言 
echo $_SERVER['REMOTE_ADDR']; //当前用户 IP 。 
echo $_SERVER['REMOTE_HOST']; //当前用户主机名 
echo $_SERVER['REQUEST_URI']; //URL
echo $_SERVER['HTTP_HOST']; //主机与端口号
echo $_SERVER['SCRIPT_FILENAME']; //脚本绝对路径名
?>

    
[3]php获取站点的来路域名的方法
    来源: 互联网  发布时间: 2013-12-24

所谓“来路”,即从哪里点击了网站的链接,即,从什么页面连接到当前网站。

在php中,可以借助全局数组变量$_SERVER['HTTP_REFERER']来获取当前页的来路地址。

比如,以下代码路径在http://wwww./a.html,其中有个链接,点击会跳转到demo.php,在demo.php输出来自哪个页面。
<a href="/blog_article/demo.html">获取这个页面的地址</a>

代码:

<?php
echo "来访域名:".$_SERVER['HTTP_REFERER'];
?>

输出结果:
来访域名:http://www./a.html。
有时可能只需要获取到域名和IP即可,那么可以使用parse_url($_SERVER['HTTP_REFERER']);
它将返回一个数组,数组里的键值为host就是域名,而scheme为http,path为剩下的部分(文件路径和文件)。
query为附加在url上的参数。还可以通过gethostbyname获取到这个url的IP地址。

您可能感兴趣的文章:
PHP获取域名的几个全局变量
php 实现dns域名查询的方法详解(图文)
php 从url中获取域名的实例代码
探讨:PHP获取域名及域名IP地址的方法
php获取URL中domain域名的代码一例
PHP正则匹配获取URL中域名的代码
PHP获取当前网址及域名的代码
php正则表达式匹配URL中的域名
PHP调用万网接口实现域名查询的功能


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3