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

PHP-相对路径!我认为,对于有经验的开发人员来说,这很容易,php,paypal,path,filesystems,directory-structure,Php,Paypal,Path,Filesystems,Directory Structure,我有一个出售数字下载的网站,一段时间以来我一直在尝试建立PayPal express结账。我终于把它整合起来了,但有一件事我搞不清楚 我的代码是get_script_uri'buy.php'; 这意味着在处理付款时,用户将被重定向到buy.php PayPal_Digital_Goods_Configuration::return_url( get_script_uri( 'buy.php' ) ); 但是,我的页面包含代码paypalbuy.php,它位于一个名为dl/的目录中。处理付款时,

我有一个出售数字下载的网站,一段时间以来我一直在尝试建立PayPal express结账。我终于把它整合起来了,但有一件事我搞不清楚

我的代码是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'

我怎样才能解决这个问题?如何设置“获取脚本uri;”并将用户重定向到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:../means parent directory.

`function get_script_uri$script='index.php'{//IIS修复空的$\u服务器['REQUEST\u URI']$\u服务器['REQUEST\u URI']=$\u服务器['SCRIPT\u NAME'];//删除查询字符串$url=preg\u replace'/\?.$//',$\u服务器['REQUEST\u URI'];//$url='http://'.$\u服务器['http://主机].//'.$ltrimdirname$url='http://'.$url='http://'.$\u服务器['http://主机].$,内爆'['REQUEST_URI'],-1.'/';返回$url.$script;}就是这样。我正试图重定向到一个URL。@HugoCornellier:这几乎不可读,伙计,在你的问题中发布格式正确的内容。@HugoCornellier:你试过我的建议了吗?它应该会起作用。我如何使用实际路径?对不起,我是一个noob。@HugoCornellier:使用PayPal\u Digital\u Goods\u配置::return\u URL'http://google.com/buy.当然,用你的域名替换google.com。