PHP Determinazione dell'URL corrente

Devo modificare la mia function per restituire anche la cartella corrente in cui mi trovo. Ecco la mia function attuale:

function getLinkFromHost($url){ $port = $_SERVER['REMOTE_PORT']; $server = $_SERVER['HTTP_HOST']; if($port == 443){ $type = "https"; } else { $type = "http"; } return $type . "://" . $server . "/" . $url; } 

Dai un'occhiata a $_SERVER['REQUEST_URI'] o $_SERVER['SCRIPT_NAME']

(Dalla voce di $_SERVER )

Ecco una breve function dolce che ho usato per fare questo per un po 'ora.

 function curPageURL () {
  $ pageURL = 'http';
  if ($ _SERVER ["HTTPS"] == "on") {$ pageURL. = "s";}
  $ pageURL. = ": //";
  if ($ _SERVER ["SERVER_PORT"]! = "80") {
   $ pageURL. = $ _SERVER ["SERVER_NAME"]. ":". $ _ SERVER ["SERVER_PORT"]. $ _ SERVER ["REQUEST_URI"];
  } altro {
   $ pageURL. = $ _SERVER ["SERVER_NAME"]. $ _ SERVER ["REQUEST_URI"];
  }
  restituire $ pageURL;
 }

Non posso prendere il merito, appartiene a:

http://www.webcheatsheet.com/PHP/get_current_page_url.php

Probabilmente vorresti includere anche get vars nel tuo url, quindi dovresti aggiungere qualcosa alla function highphilosopher

$current_url = rtrim(curPageURL(), "/").(!empty($_GET)) ? "?".http_build_query($_GET) : "";

……….

 echo $_SERVER['PHP_SELF']; // return current file echo __FILE__; // return current file echo $_SERVER['SCRIPT_NAME']; // return current file echo dirname(__FILE__); // return current script's folder // etc 

Ecco un metodo che potrebbe aiutare:

 function current_url() { $result = "http"; if($_SERVER["HTTPS"] == "on") $result .= "s"; $result .= "://".$_SERVER["SERVER_NAME"]; if($_SERVER["SERVER_PORT"] != "80") $result .= ":".$_SERVER["SERVER_PORT"]; $result .= $_SERVER["REQUEST_URI"]; return $result; }