当前位置:首页 » 编程语言 » phpurl地址

phpurl地址

发布时间: 2023-08-05 14:40:46

⑴ 如何通过php获取提交页面的URL

在PHP的开发中我们经常会通过网址URL向另一个网页传递参数的问题。在这个过程中我们首先需要获取到当前页面的URL,然后将URL中各个参数的值保存到变量中。整个过程较为简单,主要涉及到$_SERVER的用法。

1、$_server['http_host'],作用:获取网址域名,如(www.5ibobo.com,这是波波的一个博客,暂且做例子吧)。

2、$_SERVER["PHP_SELF"],作用:获取网页地址,如(/code/445.html)。

3、$_SERVER["QUERY_STRING"],作用:获取网址URL参数,待会我们会在实例中用到。

4、$_SERVER["HTTP_REFERER"],作用:获取用户的代理。

⑵ ThinkPHP 网址格式URL地址怎么设置~呢

thinkPHP的URL在config中配置
一、URL规则
1、默认是区分大小写的
2、如果我们不想区分大小写可以改配置文件
'URL_CASE_INSENSITIVE'=>true,//url不区分大小写
3、如果模块名为 UserGroupAction,那么url找模块就必要要写成
http://localhost/thinkphp4/index.php/user_group/index
4、如果'URL_CASE_INSENSITIVE'=>false,那么url也可以写为
http://localhost/thinkphp4/index.php/UserGroup/index
二、URL伪静态
'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀
三、URL路由
1、启动路由
要在配置文件中开启路由支持
'URL_ROUTER_ON'=>ture//开启路由
2、使用路由
1.规则表达式配置路由
'URL_ROUTE_RULES'=>array()//路由规则
'my'=>'Index/index',//静态地址路由
'my'=>'/Index/index',//静态地址路由,加/直接跳到网站根目录下。
':id/:num'=>'Index/index',//动态地址路由,可以$_GET接收地址栏参数
'year/:year/:month/:date'=>'Index/index',//动态和静态混合地址路由
'year/:year\d/:month\d/:date\d'=>'Index/index',//动态和静态混合地址路由加上 \d代表类型只能是数字
'my/:id$'=>'Index/index',// 加上$说明地址中只能是 my/1000 后面不能有其他内容了
2.正则表达式配置路由,必须以/开始 /结束
'/^year\/(\d{4})\/(\d{2})\/(\d{2})/'=>'Index/index?year=:1&month=:2&date=:3'//这里\d表示必须是数字

⑶ php打开URL的几种方法

PHP中打开URL地址的几种方法总结,这里的函数主要用于小偷采集等函数。
1:用file_get_contents
以get方式获取内容
复制代码代码如下:

<?php
$url='http://www..com/';

$html=file_get_contents($url);
//print_r($http_response_header);

ec($html);
printhr();
printarr($http_response_header);

printhr();
?>

示例代码2:用fopen打开url,
以get方式获取内容
复制代码代码如下:

<?
$fp=fopen($url,'r');

printarr(stream_get_meta_data($fp));
printhr();
while(!feof($fp)){

$result.=fgets($fp,1024);
}
echo"urlbody:$result";

printhr();
fclose($fp);
?>


示例代码3:用file_get_contents函数,以post方式获取url
复制代码代码如下:

<?php
$data=array('foo'=>
'bar');
$data=http_build_query($data);
$opts=array(
'http'
=>array(
'method'=>'POST',
'header'=>"Content-type:
application/x-www-form-urlencoded".
"Content-Length:".strlen($data).
"",
'content'=>$data
),
);
$context=
stream_context_create($opts);
$html=
file_get_contents('http://localhost/e/admin/test.html',false,$context);

echo$html;
?>


示例代码4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body
复制代码代码如下:

<?
functionget_url
($url,$cookie=false){
$url=parse_url($url);
$query=
$url[path]."?".$url[query];
ec("Query:".$query);
$fp=fsockopen(
$url[host],$url[port]?$url[port]:80,$errno,$errstr,30);
if(!$fp){

returnfalse;
}else{
$request="GET$queryHTTP/1.1";

$request.="Host:$url[host]";
$request.="Connection:Close";

if($cookie)$request.="Cookie:$cookie ";
$request.="";

fwrite($fp,$request);
while(!@feof($fp)){
$result.=@fgets($fp,
1024);
}
fclose($fp);
return$result;
}
}

//获取url的html部分,去掉header
functionGetUrlHTML($url,$cookie=false){

$rowdata=get_url($url,$cookie);
if($rowdata)
{
$body=
stristr($rowdata,"");
$body=substr($body,4,strlen($body));
return$body;

}
returnfalse;
}

?>

⑷ php判断url地址正则表达怎么写

这个其实很简单的。就不说教了,直接给代码吧:
$url=$_SERVER['REQUEST_URI'];

if (preg_match('/^\/\w+\/?$/', $url)) {
// 说明这里匹配的是目录

} else if (preg_match('/^\/\w+\/\w+\.html$/', $url)) {
// 说明这里是匹配的文件

}

⑸ ThinkPHP 网址格式URL地址怎么设置

看手册默认就是一个index.php的路由模式啊,图片可能看不清

一、普通模式

关闭路由,完全使用默认的PATH_INFO方式URL:

'url_route_on' => false,

路由关闭后,不会解析任何路由规则,采用默认的PATH_INFO模式访问URL:

http://serverName/index.php/mole/controller/action/param/value/...

⑹ php伪静态如何获取地址栏url

程序伪静态后,搜索引擎又收录了之前的大量动态地址,如何处理呢?
你可能以为设置301就可以了,但似乎301更搜索引擎更新过来也是需要相当一段时间,而搜索到以前的动态地址,访问还是有点不好,毕竟还是希望访问静态地址,这里就需要在页面里做一下判断了。

首先,用了php内置函数,因程序伪静态了,发现取得的都是真实的url地址,和显示的url根本是两样。
网上找了很久,都没有找到办法。问题实再是很棘手。

无意中看到一个asp的例子,其中包含:http_x_rewrite_url,于是用php试了下,没想到却可以获取到地址栏的地址,至此问题解决。

例子,php伪静态如何获取地址栏url。

代码示例:

<?php
if(strstr($_server["http_x_rewrite_url"],".php"){//判断是否包含.php的地址。
header("http/1.1301movedpermanently");
header("location:http://www..com/$id.html");//跳转到新的静态地址。
exit;
}
//只适用于windows的服务器,liunx则需要用$_server['request_uri']来获取
if(strstr($_server['request_uri'],".php"){//判断是否包含.php的地址。
header("http/1.1301movedpermanently");
header("location:http://www..com/$id.html");//跳转到新的静态地址。
exit;
//只要输入以前的动态地址都会以301方式转到新的静态地址。
?>

⑺ 如何利用php获取url反向代理后面的真实地址

下面的代码用于获得真实的客户端ip,俗话说,道高一尺魔高一丈,更高级的伪装能够骗过这种检测也有可能,不过至少让伪装的门槛提高不少。

function getip() {

$unknown = 'unknown';

if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown) ) {

$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

} elseif ( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown) ) {

$ip = $_SERVER['REMOTE_ADDR'];

}

/*

处理多层代理的情况

或者使用正则方式:$ip = preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : $unknown;

*/

if (false !== strpos($ip, ','))

$ip = reset(explode(',', $ip));

return $ip;

}
需要做下简单解释:
一、没有使用代理服务器的PHP获取客户端IP情况:
REMOTE_ADDR = 客户端IP
HTTP_X_FORWARDED_FOR = 没数值或不显示
二、使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_X_FORWARDED_FOR = 客户端真实 IP (经过多个代理服务器时,这个值类似:221.5.252.160, 203.98.182.163, 203.129.72.215)
这类代理服务器还是将客户端真实的IP发送给了访问对象,无法达到隐藏真实身份的目的.
三、使用普通匿名代理服务器的PHP获取客户端IP情况:Anonymous Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP (经过多个代理服务器时,这个值类似:203.98.182.163, 203.98.182.163, 203.129.72.215)
这种情况下隐藏了客户端的真实IP,但是向访问对象透露了客户端是使用代理服务器访问它们的.
四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP(经过多个代理服务器时,这个值类似:220.4.251.159, 203.98.182.163, 203.129.72.215)
这种情况下同样透露了客户端是使用了代理服务器,但编造了一个虚假的随机IP(220.4.251.159)代替客户端的真实IP来欺骗它.
五、使用高匿名代理服务器的PHP获取客户端IP情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 没数值或不显示
无论是REMOTE_ADDR还是HTTP_FORWARDED_FOR,这些头消息未必能够取得到,因为不同的浏览器不同的网络设备可能发送不同的IP头消息.因此PHP使用$_SERVER["REMOTE_ADDR"] 、$_SERVER["HTTP_X_FORWARDED_FOR"] 获取的值可能是空值也可能是“unknown”值.

⑻ php如何获取当前页面url路径

function curPageURL() {
$pageURL = 'http';

if ($_SERVER["HTTPS"] == "on")
{

$pageURL .= "s";
}
$pageURL .= "://";

if ($_SERVER["SERVER_PORT"] != "80")
{

$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] .

$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"] .

$_SERVER["REQUEST_URI"];
}
return $pageURL;}?>

(8)phpurl地址扩展阅读:

  1. 获取域名或主机地址 :echo $_SERVER['HTTP_HOST'].""; #localhost

  2. 获取网页地址:echo $_SERVER['PHP_SELF'].""; #/blog/testurl.php

3.获取网址参数:echo $_SERVER["QUERY_STRING"].""; #id=5

4.获取用户代理:echo $_SERVER['HTTP_REFERER']."";

热点内容
php数字判断 发布:2025-02-06 23:17:40 浏览:40
优路教育服务器连接不上怎么回事 发布:2025-02-06 23:03:49 浏览:141
数据库加速 发布:2025-02-06 23:02:14 浏览:565
苹果ipodpro如何连接安卓手机 发布:2025-02-06 23:00:56 浏览:529
android格式化sd卡 发布:2025-02-06 23:00:50 浏览:982
郝斌数据库 发布:2025-02-06 22:44:57 浏览:182
全息存储器 发布:2025-02-06 22:43:51 浏览:117
游戏源码如何使用 发布:2025-02-06 22:43:40 浏览:716
表与数据库 发布:2025-02-06 22:42:47 浏览:440
典型宣传短片拍摄脚本 发布:2025-02-06 22:33:27 浏览:552