我有一个网站,我出售数字下载,并一直尝试设置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