php文件名称和url关系,php – urlencode只有URL的目录和文件名

@deceze肯定让我走正确的道路,所以去upvote他的答案.但这是正是有用的:

$encoded_url = preg_replace_callback('#://([^/]+)/([^?]+)#', function ($match) {

return '://' . $match[1] . '/' . join('/', array_map('rawurlencode', explode('/', $match[2])));

}, $unencoded_url);

有几件事要注意:

> http_build_url需要一个PECL安装,所以如果你正在分发你的代码给他人(我在这种情况下),你可能想避免它,并坚持使用reg exp解析,就像我在这里(从@ deceze的答案中大量窃取 – 去upvote那件事).> urlencode()不行!您需要使用rawurlencode()作为路径,以便空格得到编码.将空格编码为查询字符串,但对路径不太热.>这对于需要用户名/密码编码的URL不起作用.对于我的用例,我不认为我在乎那些,所以我不担心.但是,如果您的用例在这方面是不同的,那么您需要照顾.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值