PHP - Относительные пути! Легко для опытных разработчиков, я должен думать - PullRequest
0 голосов
/ 18 марта 2012

У меня есть веб-сайт, на котором я продаю цифровые загрузки, и уже некоторое время пытаюсь настроить экспресс-оплату 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;
}

1 Ответ

0 голосов
/ 18 марта 2012

Не глядя на исходный код get_script_uri(), я не уверен, но из структуры каталогов, которую вы описали, я заключаю, что, изменив get_script_uri( 'buy.php' ) на get_script_uri( '../buy.php' ), вы получите правильный URL, который вы ищете:../ означает родительский каталог .

...