快捷导航
查看: 62|回复: 17

php拼接url(php url传递参数)

[复制链接]

1万

主题

0

回帖

1万

积分

论坛元老

积分
11635
发表于 2023-9-7 10:57:51 | 显示全部楼层 |阅读模式
<p>
     在项目中,有时我们需要对当前页面的整个URL进行特殊处理,比如提取某个部分判断是否满足我们的需要,带着这个需求,下面我们来聊聊在PHP中和URL相关的知识点。
    </p><p>
<strong>
     获取页面的URL
    </strong>
</p><p>
<img image_type="1" img_height="360" img_width="640" mime_type="image/jpeg" src="https://p3-sign.toutiaoimg.com/1b81000466b663713d6d~tplv-tt-origin-asy1:5aS05p2hQOiwiOeUn-WIuw==.image?_iz=58558&amp;from=article.pc_detail&amp;x-expires=1694166186&amp;x-signature=ntcAECewn5Ut5%2FqjmsltiXExsxg%3D" web_uri="1b81000466b663713d6d"/>
</p><p>
    从上面的图片,我们能够看到,URL包括协议、域名、端口、查询参数、请求路径等等,而在PHP中我们能够使用$_SERVER这个超级全局数组来获取URL的各个组成部分,再经过拼接从而得到最后的当前页面URL。
   </p><p>
<strong>
     解析URL的各个部分
    </strong>
</p><p>
<img image_type="1" img_height="360" img_width="640" mime_type="image/png" src="https://p3-sign.toutiaoimg.com/1b870002e3252f492e35~tplv-tt-origin-asy1:5aS05p2hQOiwiOeUn-WIuw==.image?_iz=58558&amp;from=article.pc_detail&amp;x-expires=1694166186&amp;x-signature=2H1rdUFyLskAKxualxUXzNE%2F%2BYY%3D" web_uri="1b870002e3252f492e35"/>
</p><p>
    上面获取页面的URL是一种特殊的情况,因为这些是PHP底层为你生成了,现在我们遇到一种另外的情况,就是这个URL是一个变量,那么这个时候我们除了手动用explode函数分解外,还可以使用parse_url来完成,这个函数能够成功从一个URL字符串提取URL的各个组成部分,比如端口、主机、协议、路径、用户和密码等等。
   </p><p>
<strong>
     分解查询参数
    </strong>
</p><p>
<img image_type="1" img_height="360" img_width="640" mime_type="image/png" src="https://p3-sign.toutiaoimg.com/1b820002ff6cad94aa27~tplv-tt-origin-asy1:5aS05p2hQOiwiOeUn-WIuw==.image?_iz=58558&amp;from=article.pc_detail&amp;x-expires=1694166186&amp;x-signature=PINUEVGQ7uuArUdAR6O6TkHU9Uk%3D" web_uri="1b820002ff6cad94aa27"/>
</p><p>
    有时候我们的查询参数有很多,那么这个时候我们可以使用parse_str这个函数将我们的查询参数分割为数组,从而方便的提取各个值,当然这些还可以借助explode来完成,但是唯一的区别这个函数更加方便,仅仅使用一次就能够提取我们要的值,而explode要使用至少2次。
   </p><p>
<strong>
     用数组和对象构造URL
    </strong>
</p><p>
<img image_type="1" img_height="360" img_width="640" mime_type="image/png" src="https://p3-sign.toutiaoimg.com/1b850002e4b41cc372a6~tplv-tt-origin-asy1:5aS05p2hQOiwiOeUn-WIuw==.image?_iz=58558&amp;from=article.pc_detail&amp;x-expires=1694166186&amp;x-signature=%2BeVgYcGFQpPZahXu3v6OqSUIRIg%3D" web_uri="1b850002e4b41cc372a6"/>
</p><p>
    用各个条件生成最后的URL,在项目中经常遇到,尤其是还可能包含中文的情况,大家都知道,URL里面包含中文必须进行编码,那么如果参数众多的话,生成一个URL都会感觉代码比较乱,还好PHP提供了http_build_query这个函数,能够让我们直接以数组或者对象的方式生成我们最后需要的URL,并且该函数自动进行URL编码的操作,大家想想,是不是方便多了。
   </p><p>
<strong>
     对路径进行解析
    </strong>
</p><p>
    如果我们需要对URL里面的路径部分进行进一步的解析,那么这个时候可以借助PHP里面的explode这个函数来完成,利用它我们能够分割出路径里面的每一个部分,从而进行进一步的处理。
   </p><p>
<strong>
     上面说了几个常用的PHP函数,如果你已经非常熟悉了,相信对你在今后的项目中帮助非常的大,谢谢大家阅读本文,如果觉得还不错,请给个赞或者分享给你的好友,如果有什么问题或者你有更好的经验,可以在评论中和大家分享一下,周末快乐。
    </strong>
</p>

1

主题

2778

回帖

4172

积分

论坛元老

积分
4172
发表于 2023-12-23 07:51:40 | 显示全部楼层
大佬牛逼,学习了

1

主题

2838

回帖

4262

积分

论坛元老

积分
4262
发表于 2024-1-2 07:30:14 | 显示全部楼层
有点意思,谢谢楼主的无私分享!!!

1

主题

2780

回帖

4175

积分

论坛元老

积分
4175
发表于 2024-3-23 02:09:48 | 显示全部楼层
我是个凑数的。。。

1

主题

2930

回帖

4400

积分

论坛元老

积分
4400
发表于 2024-3-23 02:16:10 | 显示全部楼层
不错,支持下楼主

1

主题

2956

回帖

4439

积分

论坛元老

积分
4439
发表于 2024-4-1 05:49:21 | 显示全部楼层
小手一抖,积分到手!

1

主题

2910

回帖

4370

积分

论坛元老

积分
4370
发表于 2024-4-1 14:12:24 | 显示全部楼层
看帖回帖是美德!

1

主题

2912

回帖

4373

积分

论坛元老

积分
4373
发表于 2024-4-21 01:37:25 | 显示全部楼层
谢谢楼主,共同发展

1

主题

2842

回帖

4268

积分

论坛元老

积分
4268
发表于 2024-4-21 01:37:28 | 显示全部楼层
好好 学习了 确实不错

1

主题

2938

回帖

4412

积分

论坛元老

积分
4412
发表于 2024-4-21 03:43:15 | 显示全部楼层
牛啊兄弟 支持一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|聚云老站长 ( 粤ICP备2023011934号-1 )

GMT+8, 2024-6-3 00:50 , Processed in 1.247195 second(s), 42 queries .

快速回复 返回顶部 返回列表