Versuchte URI::uri_string()
, kann es aber nicht dazu bringen, mit dem base_url zu arbeiten.
URL: http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
Rückgabe: dropbox/derrek/shopredux/ahahaha/hihihi
http://localhost/dropbox/derrek/shopredux/
gibt jedoch nur eine leere Zeichenfolge zurück.
Ich möchte, dass der erste Anruf "ahahaha/hihihi" und der zweite "" zurückkehren. Gibt es eine solche Funktion?
// For current url
echo base_url(uri_string());
Wenn url
helper geladen ist, verwenden Sie
current_url();
wird besser sein
Verwenden Sie "URI" -Segmente wie:
$this->uri->segment(5); //To get 'ahahaha'
$this->uri->segment(6); //To get 'hihihi
bilden Sie Ihre erste URL ... Sie erhalten '' von der zweiten URL auch für Segment (5), Segment (6) auch, weil sie leer sind.
Jede Segmentfunktion zählt von localhost als '1' und von symultanen Segmenten
Ich sehe, dass dieser Beitrag alt ist. Aber in Version CI v3 ist hier die Antwort:
echo $this->uri->uri_string();
Vielen Dank
Für den Parameter oder ohne Parameter-URLs Verwenden Sie Folgendes:
Methode 1:
$currentURL = current_url(); //for simple URL
$params = $_SERVER['QUERY_STRING']; //for parameters
$fullURL = $currentURL . '?' . $params; //full URL with parameter
Methode 2:
$full_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_Host]$_SERVER[REQUEST_URI]";
Methode 3:
base_url(uri_string());
//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();
Ausführen von Latest Code Igniter 3.10
$this->load->helper('uri'); // or you can autoload it in config
print base_url($this->uri->uri_string());
Ich weiß nicht, ob es eine solche Funktion gibt, aber mit $ this-> uri-> uri_to_assoc () erhalten Sie ein assoziatives Array aus den $ _GET-Parametern. Mit diesem und dem Controller, in dem Sie sich befinden, wissen Sie Wie die URL aussieht ... In Ihrer obigen URL würde dies bedeuten, dass Sie sich in der Dropbox des Controllers befinden würden und das Array etwa so aussehen würde:
array("derrek" => "shopredux", "ahahaha" => "hihihi");
Damit sollten Sie eine solche Funktion selbst erstellen können.
In CI v3 können Sie Folgendes versuchen:
function partial_uri($start = 0) {
return join('/',array_slice(get_instance()->uri->segment_array(), $start));
}
Dadurch wird die durch das Argument $start
Angegebene Anzahl von URL-Segmenten gelöscht. Wenn Ihre URL http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
Ist, dann:
partial_uri(3); # returns "ahahaha/hihihi"