私はデジタルダウンロードを販売するウェブサイトを持っており、しばらくの間、PayPalエクスプレスチェックアウトを設定しようとしています。私は最終的にそれを統合していますが、私が理解できないことが1つあります。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
実際のパスはどのように使用しますか?申し訳ありません、私はノブです。 –
@HugoCornellier: 'PayPal_Digital_Goods_Configuration :: return_url( 'http://google.com/buy.php');'(あなたのドメインに 'google.com'を置き換えてください)。 –