PHP获取来路域名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP获取来路域名相关的知识,希望对你有一定的参考价值。
<?php
$url = " http://127.0.0.1/license/rank.php";
$contents = file_get_contents($url);
echo $contents;
?>
rank.php怎么知道是来自哪个域名的文件在读取内容啊
$str = str_replace("http://","",$url); //去掉http://
$strdomain = explode("/",$str); // 以“/”分开成数组
$domain = $strdomain[0]; //取第一个“/”以前的字符
用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
$_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名 参考技术A $_SERVER['REQUEST_URI'] 访问的URL
$_SERVER['SERVER_NAME'] 服务器域名 参考技术B $_SERVER['REQUEST_URI'];
$_SERVER['PHP_SELF'].'?'.$_SERVER['argv'][0]
$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] 参考技术C $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
请问这个要加一个什么参数同时获取https 和http 完整的URL?
PHP获取来路域名 关键字
function keywords($url){
$spier=array(‘baidu.‘=>‘百度‘,‘google.‘=>‘谷歌‘,‘soso.‘=> ‘搜搜‘,‘sogou.‘=>‘搜狗‘,‘www.haosou.com‘=>‘360‘);
$q=array(‘百度‘=>‘/wd=([^&]*)/i‘,‘谷歌‘=>‘/q=([^&]*)/i
‘,‘360‘=>‘/q=(.*)/i‘,‘搜狗‘=>‘/query=([^&]*)/i‘,‘搜搜‘=>‘/w=([^&]*)/i‘);
foreach($spier as $k=>$v){
if(strpos($url,$k)){
preg_match("{$q[$v]}",$url,$b);
if($v==‘搜搜‘||$v==‘搜狗‘){
$keywords=iconv(‘GBK‘,‘UTF-8‘,urldecode($b[1]));
}else{
$keywords=urldecode($b[1]);
}
echo "<br>来自{$v}的关键字:".$keywords.‘<br>‘;
}
}
}
调用方法:echo $this->keywords($_SERVER[‘HTTP_REFERER‘]);//$_SERVER[‘HTTP_REFERER‘]获取上一级的url
以上是关于PHP获取来路域名的主要内容,如果未能解决你的问题,请参考以下文章