2012-09-03 23 views
7

Probado URI::uri_string() pero no se puede conseguir que funcione con la base_url.CodeIgniter -> Obtener la URL actual relativa a la URL base

URL: http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
Devuelve: dropbox/derrek/shopredux/ahahaha/hihihi

pero http://localhost/dropbox/derrek/shopredux/ sólo devuelve una cadena vacía.

Quiero que la primera llamada devuelva "ahahaha/hihihi" y la segunda para devolver "". ¿Hay tal función?

Respuesta

0

No sé si existe tal función, pero con $ this-> uri-> uri_to_assoc() se obtiene una matriz asociativa de los parámetros $ _GET. Con esto y el controlador en el que se encuentra, ya sabe cómo se ve la URL. En arriba URL Esto significaría que estaría en la caja de reenvío y el controlador de la matriz sería algo como esto:

array("derrek" => "shopredux", "ahahaha" => "hihihi"); 

Con esto, usted debe ser capaz de realizar tal función por su cuenta.

10

Trate de usar "URI" segmentos como:

$this->uri->segment(5); //To get 'ahahaha' 
$this->uri->segment(6); //To get 'hihihi 

formar su primer URL ... Se obtiene '' del segundo URl también para el segmento (5), el segmento (6) también porque están vacíos .

Cada recuentos de función segmento comienza forma localhost como '1' y los segmentos symultaneous

+0

FYI - He encontrado al usar CodeIgniter 2.1.3 que los segmentos comienzan a 0, no a 1, como se menciona en la respuesta. P.ej. '$ this-> uri-> segment (1)' for '" http://example.com/first/second "' is '" first "'. – user9645

5
//if you want to get parameter from url use: 
parse_str($_SERVER['QUERY_STRING'], $_GET); 
//then you can use: 
if(isset($_GET["par"])){ 
     echo $_GET["par"]; 
} 
//if you want to get current page url use: 
$current_url = current_url(); 
36
// For current url 
echo base_url(uri_string()); 
+2

Se necesita cargar el URL helper. –

16

Si se carga url ayudante, utilice

current_url(); 

será mejor

+0

que ayuda? url helper? esto devuelve una ruta completa: ¿qué tipo de obtener -> bienvenida/inicio, usuarios/tipo de inicio de sesión de URL? – danielad

+0

Tengo el punto equivocado, lo siento. pero '$ _SERVER ['REQUEST_URI']' puede simplemente satisfacer el requisito anterior – user3024431

2

I mira que esta publicación es vieja Pero aquí en la versión 3 es la unswer:

echo $this->uri->uri_string(); 

Gracias

2

para el parámetro URL o sin parámetros use esto:

$currentURL = current_url(); //for simple URL 

$params = $_SERVER['QUERY_STRING']; //for parameters 

$fullURL = $currentURL . '?' . $params; //full URL with parameter 
Cuestiones relacionadas