php获取根域名方法汇总
本文实例汇总了php获取根域名方法,分享给大家供大家参考。具体实现方法如下:
如果你只简单获取当前访问你页面的域名,我们只需要使用php中的函数HTTP_HOST就可以搞定了,如果是提取url根域名是需要正则的,下面就来看看几个具体实例。
如果是获取当前域名是非常的简单的:
<?php
//获取当前的域名:
echo $_SERVER['SERVER_NAME'];
//获取来源网址,即点击来到本页的上页网址
echo $_SERVER["HTTP_REFERER"];
$_SERVER['REQUEST_URI'];//获取当前域名的后缀
$_SERVER['HTTP_HOST'];//获取当前域名
dirname(__FILE__);//获取当前文件的物理路径
dirname(__FILE__)."/../";//获取当前文件的上一级物理路径
?>
例子1
function getUrlRoot($url){
#添加头部和尾巴
$url = $url . "/";
#判断域名
preg_match("/((\w*):\/\/)?\w*\.?([\w|-]*\.(com.cn|net.cn|gov.cn|org.cn|com|net|cn|org|asia|tel|mobi|me|tv|biz|cc|name|info))
\//", $url, $ohurl);
#判断IP
if($ohurl[3] == ''){
preg_match("/((\d+\.){3}\d+)\//", $url, $ohip);
return $ohip[1];
}
return $ohurl[3];
}
例子2
/**
* 取得根域名
* @param type $domain 域名
* @return string 返回根域名
*/
function GetUrlToDomain($domain) {
$re_domain = '';
$domain_postfix_cn_array = array("com", "net", "org", "gov", "edu", "com.cn", "cn");
$array_domain = explode(".", $domain);
$array_num = count($array_domain) - 1;
if ($array_domain[$array_num] == 'cn') {
if (in_array($array_domain[$array_num - 1], $domain_postfix_cn_array)) {
$re_domain = $array_domain[$array_num - 2] . "." . $array_domain[$array_num - 1] . "." . $array_domain[$array_num];
} else {
$re_domain = $array_domain[$array_num - 1] . "." . $array_domain[$array_num];
}
} else {
$re_domain = $array_domain[$array_num - 1] . "." . $array_domain[$array_num];
}
return $re_domain;
}
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
php实现的ping端口函数实例
本文实例讲述了php实现的ping端口函数.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: <?php /* * @author xujiajay * @date 2010-10-7 * @function 可以ping端口的php函数 * */ error_reporting(E_ERROR); header("content-Type: text/html; charset=utf-8"); set_
-
php中获取主机名、协议及IP地址的方法
本文实例讲述了php中获取主机名.协议及IP地址的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: $hostname=gethostbyaddr($_SERVER['remote_addr']); //获取主机名 echo $hostname; //输出结果 // $hosts=gethostbynamel('localhost'); //获取ip地址列表 print_r($hosts); //输出数组 // $
-
php实现TCP端口检测的方法
本文实例讲述了php实现TCP端口检测的方法.分享给大家供大家参考.具体如下: 该程序可以确认当前端口是否可用: <?php class Health { public static $status; public function __construct() { } public function check($ip, $port){ $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_nonblock($sock)
-
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
话不多说,我们直接看代码 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br />"; //获取网页地址 echo $_SERVER['PHP_SELF']."<br />"; //获取网址参数 echo $_SERVER["QUERY_STRING"]."<br />"; //获取用户代理 echo $_SERVER['HTTP_REFERER'].&q
-
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
本文所述php实例可以完成获取局域网所有用户的电脑IP和主机名.及mac地址的功能,对于php程序设计人员有一定的参考借鉴价值.完整代码如下: <?php $bIp = gethostbyname($_ENV['COMPUTERNAME']); //获取本机的局域网IP echo "本机IP:",$bIp,"\n"; echo "本机主机名:",gethostbyaddr($bIp),"\n\n\n"; //gethos
-
PHP URL地址获取函数代码(端口等) 推荐
php 获得当前的脚本网址(只有路径) 复制代码 代码如下: function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $scrtName = $_SERVER["REQUEST_URI"]; $nowurl = $scrtName; } else { $scrtName = $_SERVER["PHP_SELF"]; if(empty($_SERVER["QUERY_ST
-
PHP获取网站域名和地址的代码
复制代码 代码如下: <? function PMA_getenv($var_name) { if (isset($_SERVER[$var_name])) { return $_SERVER[$var_name]; } elseif (isset($_ENV[$var_name])) { return $_ENV[$var_name]; } elseif (getenv($var_name)) { return getenv($var_name); } elseif (function_exi
-
PHP中使用cURL实现Get和Post请求的方法
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它. 2.基本结构 在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤: (1)初始化 curl_init() (2)设置变量 curl_setopt() .最为重要,一切玄妙均在此.有一长串cURL参数可供设置,它们能指定URL请求的各个细节.要一次性
-
php获取当前网址url并替换参数或网址的方法
一是PHP获取当前页面的网址: 复制代码 代码如下: //获得当前的脚本网址 function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $scriptName = $_SERVER["REQUEST_URI"]; $nowurl = $scriptName; } else { $scriptName = $_SERVER["PHP_SELF"]; if(empty($_SERVER[
-
php获取根域名方法汇总
本文实例汇总了php获取根域名方法,分享给大家供大家参考.具体实现方法如下: 如果你只简单获取当前访问你页面的域名,我们只需要使用php中的函数HTTP_HOST就可以搞定了,如果是提取url根域名是需要正则的,下面就来看看几个具体实例. 如果是获取当前域名是非常的简单的: 复制代码 代码如下: <?php //获取当前的域名: echo $_SERVER['SERVER_NAME']; //获取来源网址,即点击来到本页的上页网址 echo $_SERVER["HTTP_REFERER&q
-
JavaScript中常见获取元素的方法汇总
常见的获取元素的方法有3种,分别是通过元素ID.通过标签名字和通过类名字来获取. getElementById DOM提供了一个名为getElementById的方法,这个方法将返回一个与之对应id属性的节点对象.使用的时候请注意区分大小写. 它是document对象特有的函数,只能通过其来调用该方法.其使用的方法如下: 复制代码 代码如下: document.getElementById('demo') //demo是元素对应的ID 该方法兼容主流浏览器,甚至包括IE6+,可以大胆使用. ge
-
使用JS获取当前地理位置方法汇总
今年的项目开发中,初步接触了移动端WEB开发,也就边学习HTML5边开发,主要使用了JQuery Mobile技术,发现这个不适合做互联网产品,大部分样式都需要重写,只用了部分功能.手机端WEB开发过程中第一次接触了定位功能,通过各大搜索引擎发现手机端定位都是通过浏览器的定位,而用在PC端浏览器第一次会弹出提示"是否开启定位功能",Boss看到这个提示,却觉得对用户的体验效果不好,不好那我换一种方式实现不就好了,这又不是多大的事,而Boss的脸色就大变,就说:不应该有这样的体验.我们这
-
.NET获取当前路径的方法汇总
以下汇总了.NET(包括ASP.NET/WinForm等)获取当前路径的各种方法 //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名). string str = System.Diagnosti
-
jQuery异步获取json数据方法汇总
jQuery异步获取json数据有2种方式,一个是$.getJSON方法,一个是$.ajax方法.本篇体验使用这2种方式异步获取json数据,然后追加到页面. 在根目录下创建data.json文件: 复制代码 代码如下: { "one" : "Hello", "two" : "World" } ■ 通过$.getJSON方法获取json数据 复制代码 代码如下: <script src="Scr
-
Spring中如何获取request的方法汇总及其线程安全性分析
前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性.下面话不多说了,来一起看看详细的介绍吧. 概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等.由于在Spring MVC中,处理请求的Controller.Service等对象都是单例的,因此获取request对象时最需要注意的问题,便是
-
C#获取根目录实现方法汇总
1.控制台应用程序 static void Main(string[] args) { //1.Environment.CurrentDirectory Console.WriteLine(Environment.CurrentDirectory); //2.AppDomain.CurrentDomain.BaseDirectory Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory); //3.项目的目录 Console.WriteL
-
Java中实现获取路径的方法汇总
一. java文件中获得路径 Thread.currentThread().getContextClassLoader().getResource("") //获得资源文件(.class文件)所在路径 ClassLoader.getSystemResource("") Class_Name.class.getClassLoader().getResource("") Class_Name.class .getResource("/&qu
-
JS获取客户端IP地址、MAC和主机名的7个方法汇总
今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本.下面的代码是我在所有windowsNT5.0及以上的系统上都测试通过的,给出代码: 一.使用JS获取客户端IP的几个方法 方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000). 获取客户端IP代码: 复制代码 代码如下: <HTML> <HE
-
Yii操作数据库实现动态获取表名的方法
本文实例讲述了Yii操作数据库实现动态获取表名的方法.分享给大家供大家参考,具体如下: yii 获取某个库中的表名,而且这个库不确定表的多少,此时没法按照gii去根据表去生成文件,这里有个方法去解决掉. $sqls = "show tables"; $datebase = YII::app()->db_order->createCommand($sqls)->queryAll(); //获取表名 这里$datebase 就是所有的表名,我当前有4个库,一个网站公用这
随机推荐
- java基础之数组常用操作总结(必看篇)
- Java如何在不存在文件夹的目录下创建文件
- codeigniter中测试通过的分页类示例
- 如何写ASP入库小偷程序
- 初学java常用开发工具介绍
- C 语言插入排序算法及实例代码
- Ajax动态为下拉列表添加数据的实现方法
- 如何取回已忘记的密码?
- C语言指针入门学习面面观
- c#实现用SQL池,多线程定时批量执行SQL语句的方法
- Ajax实现搜索引擎自动补全功能
- Android的EditText字数检测和限制解决办法
- 基于DateTime.ParseExact方法的使用详解
- 服务器变量 $_SERVER 的深入解析
- PHP函数utf8转gb2312编码
- 将PHP作为Shell脚本语言使用
- 一个查看session内容的函数
- Linux tcpdump操作命令详解
- PHP中$GLOBALS与global的区别详解
- 75条笑死人的知乎神回复,用60行代码就爬完了