我有一個網站,我出售數字下載,並一直嘗試設置PayPal快速結賬一段時間。我終於把它整合起來了,但有一件事我不明白。PHP - 相對路徑!易於經驗豐富的開發人員,我應該認爲
我的代碼說get_script_uri('buy.php')); 這意味着當處理付款時,用戶將被重定向到「buy.php」。
PayPal_Digital_Goods_Configuration::return_url(get_script_uri('buy.php'));
但是,包含此代碼的頁面(paypalbuy.php)位於名爲「dl /」的目錄中。當處理付款時,用戶被重定向到'buy.php',由於路徑,用戶被重定向到'dl/buy.php'。
我該如何解決這個問題?我該如何設置'get_script_uri('http://google.com'));'並讓用戶重定向到一個URL,而不是路徑中的文件。
編輯:這裏是我的get_script_uri功能:
function get_script_uri($script = 'index.php'){
// IIS Fix
if(empty($_SERVER['REQUEST_URI']))
$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'];
// Strip off query string
$url = preg_replace('/\?.*$/', '', $_SERVER['REQUEST_URI']);
//$url = 'http://'.$_SERVER['HTTP_HOST'].'/'.ltrim(dirname($url), '/').'/';
$url = 'http://'.$_SERVER['HTTP_HOST'].implode('/', (explode('/', $_SERVER['REQUEST_URI'], -1))) . '/';
return $url . $script;
}
爲什麼不使用實際路徑? – hjpotter92 2012-03-18 16:20:52
如何使用實際路徑?對不起,我是一個noob。 – 2012-03-18 16:46:31
@HugoCornellier:使用PayPal_Digital_Goods_Configuration :: return_url('http://google.com/buy.php');'(當然用您的域替換google.com')。 – 2012-03-19 09:11:42