Duda PHP

gothcrow

New Member
Messages
307
Reaction score
0
Points
0
Buenas,
alguien sabe como se define en php la direccion en donde esta alojado, lo vi una ves pero no recuerdo como es; es decir si es en hola.hola.com el define me muestre eso, pero con ese mismo archivo si lo paso a hola2.hola.com me muestre ese.

Agradezco la ayuda
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
Explicate mejor!.. no etniendo lo q quieres
 

eZakto

Member
Messages
782
Reaction score
1
Points
18
Fácil, usas una de las variables especiales de php, en este caso, $_SERVER:

PHP:
<?php
echo $_SERVER['SERVER_NAME'];
?>
En este caso, esto me devolverá "www.ezakto.com.ar" (Sin comillas).

Ahora, si quieres que te devuelva la url con el protocolo (http, ftp, etc.)... Es otra cosa. El elemento 'SERVER_PROTOCOL' devuelve el protocolo y su revisión (digamos, versión)... Por ejemplo: "HTTP/1.1".
Para cambiarlo por "http://" haces usas la función strtolower() para transformarlo en minúsculas, y para sacarle la versión, supongo que con un substr:
PHP:
<?php
function protocolo() {
  $_protocolo = strtolower($protocolo); // A minusculas...
  $protocolo = substr($_protocolo, 0, strpos($_protocolo, "/")); // Extraemos lo que haya hasta antes de la barra "/"
  return $protocolo;
}
?>

Haciendo un echo protocolo(); nos devolvería "http". Ahora, podemos combinar esto con el $_SERVER['SERVER_NAME'] para hacer esta función, que llamaré get_url():
PHP:
<?php
function get_url() {
  $_protocolo = strtolower($_SERVER['SERVER_PROTOCOL']); // A minusculas...
  $protocolo = substr($_protocolo, 0, strpos($_protocolo, "/")); // Extraemos lo que haya hasta antes de la barra "/"
  $dominio = $protocolo . "://" . $_SERVER['SERVER_NAME'];
  return $dominio;
}
?>

Haciendo un echo get_url(); deberías obtener "http://www.midominio.com".
 
Top