PHP-相对路径!我认为,对于经验丰富的开发人员来说,这很容易


PHP - Relative Paths! Easy for experienced developers, I should think

我有一个销售数字下载的网站,一段时间以来一直在尝试设置PayPal快速结账。我终于把它整合在一起了,但有一件事我想不通。

我的代码显示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;
}

如果不查看get_script_uri()源代码,我不能确定,但根据您描述的目录结构,我推断通过将get_script_uri( 'buy.php' )更改为get_script_uri( '../buy.php' ),应该会为您提供所需的正确URL:../表示父目录

相关文章: