亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 替換 URL 中的 basename

PHP 替換 URL 中的 basename

PHP
慕標琳琳 2023-05-12 15:39:59
我有這個功能。function getCallbackUrl(){    $protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";    return $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . 'response.php';}在我的 URL 上,http://localhost/gateways/payu/index.php上述函數顯示這樣的 URL http://localhost/gateways/payu/index.phpresponse.php。不知道為什么會這樣。該功能對我來說似乎是正確的。也許我遺漏了一些我無法將基本名稱從index.phpto替換的東西response.php。任何幫助將不勝感激。謝謝 :)
查看完整描述

1 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

目前,你$_SERVER['REQUEST_URI']自己有index.php,因此你面臨這個問題,在哪里response.php連接而不是替換??焖傩迯腿缦拢?/p>


$_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');


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 164 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號