Как я могу получить информацию из URL в PHP? - PullRequest
1 голос
/ 24 июня 2010

Допустим, URL-адрес http://example.com/product/3, и я хочу получить только то, что после http://example.com/product/.Я нашел это, это перекликается с доменом, но как мне получить три.Это метод надежный?Я также использую codeIgniter.

<?php
function curPageURL() {
$pageURL = 'http';
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>

<?php
echo curPageURL();
?>

Ответы [ 3 ]

4 голосов
/ 24 июня 2010

Используйте $this->uri->segment(n).Документация для этого здесь:

http://codeigniter.com/user_guide/libraries/uri.html

Для вашего кода вы должны использовать:

$curPageURL = $this->url->segment(2)

Отредактировано: Исправлена ​​ошибка в коде.

2 голосов
/ 24 июня 2010

Да, используйте класс URI API codeigniter.

base_url - это нулевой сегмент, поэтому в вашем случае продукты будут сегментом 1 и сегментом идентификатора 2.

$product_id = $this->uri->segment(2)

Как уже упоминалось в Четане, это четко задокументировано в руководстве пользователя.

0 голосов
/ 24 июня 2010

Вы должны использовать вместо parse_url: http://php.net/manual/es/function.parse-url.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...