1 回答
TA贡献1798条经验 获得超3个赞
目前,你$_SERVER['REQUEST_URI']自己有index.php,因此你面临这个问题,在哪里response.php连接而不是替换。快速修复如下:
$_SERVER['REQUEST_URI'] = str_replace(basename($_SERVER['REQUEST_URI']),'response.php',$_SERVER['REQUEST_URI']);
return $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
您还可以结合使用parse_url()
,str_replace()
和basename()
来实现此目的。
解析 url 并获取 URI 路径。
获取 URI 的基本名称。
将其替换为您想要的那个。
将这些部分连接在一起并返回 URL。
片段:
<?php
function getCallbackUrl($url,$replacement_file){
$url_data = parse_url($url);
$url_data['path'] = str_replace(basename($url_data['path']),$replacement_file,$url_data['path']);
$url = $url_data['scheme'] . "://" . $url_data['host'] . $url_data['path'];
if(!empty($url_data['query'])) $url .= '?' . $url_data['query'];
return $url;
}
echo getCallbackUrl('http://localhost/gateways/payu/index.php','response.php');
- 1 回答
- 0 关注
- 133 浏览
添加回答
举报