问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

几种php访问url的方法

发布网友 发布时间:2022-04-06 06:22

我来回答

2个回答

懂视网 时间:2022-04-06 10:44

//URL的参数
echo $_SERVER['QUERY_STRING'];
返回:
m=admin&c=index&a=lists&catid=1&page=1
//包含文件名
echo $_SERVER["REQUEST_URI"];

返回:

/test.php?m=admin&c=index&a=lists&catid=1&page=1

2、利用pathinfo内置函数

echo "<pre>";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
var_export(pathinfo($url));

返回:

array (
 'dirname' => 'http://localhost',
 'basename' => 'test.php?m=admin&c=index&a=lists&catid=1&page=1#top',
 'extension' => 'php?m=admin&c=index&a=lists&catid=1&page=1#top',
 'filename' => 'test',
)

3、利用parse_url内置函数

echo "<pre>";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
var_export(parse_url($url));

返回:

array (
 'scheme' => 'http',
 'host' => 'localhost',
 'path' => '/test.php',
 'query' => 'm=admin&c=index&a=lists&catid=1&page=1',
 'fragment' => 'top',
)

4、利用basename内置函数

echo "<pre>";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
var_export(basename($url));

返回:

test.php?m=admin&c=index&a=lists&catid=1&page=1#top

5、正则匹配

echo "<pre>";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
preg_match_all("/(w+=w+)(#w+)?/i",$url,$match);
var_export($match);

返回:

array (
 0 => 
 array (
 0 => 'm=admin',
 1 => 'c=index',
 2 => 'a=lists',
 3 => 'catid=1',
 4 => 'page=1#top',
 ),
 1 => 
 array (
 0 => 'm=admin',
 1 => 'c=index',
 2 => 'a=lists',
 3 => 'catid=1',
 4 => 'page=1',
 ),
 2 => 
 array (
 0 => '',
 1 => '',
 2 => '',
 3 => '',
 4 => '#top',
 ),
)

url常用处理方法

/**
 * 将字符串参数变为数组
 * @param $query
 * @return array
 */
function convertUrlQuery($query)
{
 $queryParts = explode('&', $query);
 $params = array();
 foreach ($queryParts as $param) {
 $item = explode('=', $param);
 $params[$item[0]] = $item[1];
 }
 return $params;
}

/**
 * 将参数变为字符串
 * @param $array_query
 * @return string
 */
function getUrlQuery($array_query)
{
 $tmp = array();
 foreach ($array_query as $k => $param) {
 $tmp[] = $k . '=' . $param;
 }
 $params = implode('&', $tmp);
 return $params;
}

例:

echo "<pre>";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
$arr = parse_url($url);
$arr_query = convertUrlQuery($arr['query']);
var_export($arr_query);

返回:

array (
 'm' => 'admin',
 'c' => 'index',
 'a' => 'lists',
 'catid' => '1',
 'page' => '1',
)
var_export(getUrlQuery($arr_query));

返回:

m=admin&c=index&a=lists&catid=1&page=1

相关教程推荐:《PHP教程》

热心网友 时间:2022-04-06 07:52

常用的就三种吧,
file_get_contents(), fopen, curl
一般用 curl 扩展的比较多,除此以外还有其他方法
fsockopen 啥的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
吉林省内户口迁移有什么规定? 吉林户口迁移流程是什么 吉林省内户口迁移程序是什么? 德国留学银行开户经验 小脑萎缩还能恢复吗 做紫菜包饭都需要什么工具呢 大家有好的网店没 推荐一个 能一次买全... 会计所说的产值是什么 会计上生产总值是什么 企业生产总值是什么 在word的编辑状态下如何解除Word文档限制编辑 php,如何把url字符串里面的参数解析出来 php打开URL的几种方法 php json_decode(); 如何解析不是很标准的json 比如下面的 json_encode json_decode 求代码 如何使用PHP语言来编码和解码JSON对象 json_encode的解决方法 为什么php数组经json php判断是否是json php哪个版本开始支持json php的序列化和返序列化跟json_encode有啥不同啊 php如何解析这种JSON Php 从数据库拿到数组,准备写接口给app,是用json decode还是json encode 简述PHP和APACHE以及MYSQL共同的优点 apache+php+mysql问题 Linux、PHP、MySQL三者之间的关系 lamp架构中,请问apache,mysql,php之间是依靠哪几个文件,以及哪几个配置文件中的哪些语句连接起来的? Apache+PHP+MySQL是什么 jdk,mysql,apache ,三者之间的关系。还有个php,mysql,apache是不是他们性质一样,就是php,和jdk语言不同 html css js jquery ajax php mysql apache 之间的关系? PHP和apache和MySQL是怎样协同工作的?能举个例子吗? php中使用parse_url()对网址进行解析的实现代码(parse_url详解) php中URL怎么理解? 急!!php获取url参数 php解析url获取域名部分难点问题 php中处理URL地址问题 PHP 怎么解析远程URL 传过来json ,在前端显示出来 php从url获取网页内容 什么叫php的url路由技术,求解 php中如何解析rest风格url 如何用php解压缩文件 php 如何解压压缩文件 php 怎把上传的rar zip文件 自动解压 用的是哪个函数 求高手指点 告急 谢谢 求源代码 PHP文件怎么解压啊? (急)php 解压文件(unzip) php怎样实现对zip文件的加密和解密 php如何压缩一个文件夹里面所有的文件到zip文件里面? 怎么用php写一个表单上传zip格式的压缩包并解压到根目录的指定目录中? php实现解压缩功能 zip密码 php PHP如何保留2位小数