web-dev-qa-db-fra.com

CodeIgniter -> Obtenir l'URL actuelle par rapport à l'URL de base

Essayé URI::uri_string() mais n'arrive pas à le faire fonctionner avec base_url.

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

mais http://localhost/dropbox/derrek/shopredux/ renvoie simplement une chaîne vide.

Je veux que le premier appel retourne "ahahaha/hihihi" et le second retour "". Y a-t-il une telle fonction?

17
makuumba
// For current url
echo base_url(uri_string());
52
Nessler

Si url helper est chargé, utilisez

current_url();

sera mieux

26
user3024431

Essayez d’utiliser des segments "uri" comme:

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

formez votre première URL ... Vous obtenez "" de la deuxième URL également pour le segment (5), segment (6) également parce qu'ils sont vides.

Chaque fonction de segment compte les débuts de localhost sous la forme '1' et les segments symultanés

10
Gautam3164

Je vois que ce post est vieux. Mais dans la version CI v3, voici la réponse:

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

Merci

8
Karim Mtl

Pour le paramètre ou sans URL de paramètre Utilisez ceci:

Méthode 1:

 $currentURL = current_url(); //for simple URL
 $params = $_SERVER['QUERY_STRING']; //for parameters
 $fullURL = $currentURL . '?' . $params; //full URL with parameter

Méthode 2:

$full_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_Host]$_SERVER[REQUEST_URI]";

Méthode 3: 

base_url(uri_string());
7
Danish Ali
 //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();
5
ashraf mohammed

Je ne sais pas s'il existe une telle fonction, mais avec $ this-> uri-> uri_to_assoc (), vous obtenez un tableau associatif à partir des paramètres $ _GET . Avec cela, et le contrôleur dans lequel vous vous trouvez, vous savez à quoi ressemble l'URL . Dans l'URL ci-dessus, cela signifierait que vous seriez dans la liste déroulante du contrôleur et que le tableau ressemblerait à ceci:

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

Avec cela, vous devriez pouvoir créer vous-même une telle fonction.

0
Shimu