Foros del Web » Programando para Internet » PHP »

¿Cómo saber si un proyecto está en localhost o en un dominio?

Estas en el tema de ¿Cómo saber si un proyecto está en localhost o en un dominio? en el foro de PHP en Foros del Web. Parece una pregunta un poco tonta, pero me explico. Estoy desarrollando un proyecto, pongamos que se llama mi-proyecto Cuando me meto a local sería http://localhost/mi-proyecto ...
  #1 (permalink)  
Antiguo 10/05/2012, 09:36
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
¿Cómo saber si un proyecto está en localhost o en un dominio?

Parece una pregunta un poco tonta, pero me explico.

Estoy desarrollando un proyecto, pongamos que se llama mi-proyecto

Cuando me meto a local sería http://localhost/mi-proyecto, pero si quiero comprar un dominio para este sería www.mi-proyecto.com o si está dentro de un dominio como por ejemplo www.midominio.com/mi-proyecto

El tema es que de una URL a otra variaría la ubicación de las carpetas y tal.. me gustaría poder identificar si se está en localhost y cual es la ruta exacta. Porque puede ser que tenga el proyecto en /var/www/miscosas/algomas/quiensabe/mi-proyecto

No sé si se me entienda muy bien lo que quiero conseguir.

Estoy intentándolo con variables del servidor pero no se me termina de ocurrir una forma coherente para saberlo.

Saludos y gracias
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #2 (permalink)  
Antiguo 10/05/2012, 09:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿Cómo saber si un proyecto está en localhost o en un dominio?

Prueba $_SERVER['DOCUMENT_ROOT'] y $_SERVER['HTTP_HOST'].

Saludos.
  #3 (permalink)  
Antiguo 10/05/2012, 12:23
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: ¿Cómo saber si un proyecto está en localhost o en un dominio?

Cita:
Iniciado por GatorV Ver Mensaje
Prueba $_SERVER['DOCUMENT_ROOT'] y $_SERVER['HTTP_HOST'].

Saludos.
El problema de usar esto en local que no te especifica la carpeta donde se encuentra el proyecto en cuestión.

Te pongo el resultado de HTTP_POST y DOCUMENT_ROOT en Local y en un dominio, respectivamente:

Local localhost - /var/www
Dominio proyecto-fp2.com - /var/www/mi-proyecto

Es un poco caos la verdad :S! !

Gracias
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #4 (permalink)  
Antiguo 10/05/2012, 12:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿Cómo saber si un proyecto está en localhost o en un dominio?

Crea un virtualhost en tu local y dale un document root, así te va a dar como en el dominio. Recuerda que la mejor forma es siempre esa, usar VirtualHosts para simular lo más posible el ambiente en producción.
  #5 (permalink)  
Antiguo 10/05/2012, 12:53
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: ¿Cómo saber si un proyecto está en localhost o en un dominio?

No se si esto es lo que estas buscando...

real_path
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #6 (permalink)  
Antiguo 10/05/2012, 13:04
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: ¿Cómo saber si un proyecto está en localhost o en un dominio?

Cita:
Iniciado por GatorV Ver Mensaje
Crea un virtualhost en tu local y dale un document root, así te va a dar como en el dominio. Recuerda que la mejor forma es siempre esa, usar VirtualHosts para simular lo más posible el ambiente en producción.
Si, eso he hecho, estaba probando en un virtualhost y en localhost a la vez, pero este último me parece que lo voy a dejar de usar.

Cita:
Iniciado por malakian Ver Mensaje
No se si esto es lo que estas buscando...

real_path
No es eso lo que estoy buscando pero no lo conocía. :) Gracias

Voy a indagar con lo siguiente

Código PHP:
dirname(__file__
Puede que me de la solución :)

Saludos y gracias

EDIT

Creo que esta solución sería válida, tengo que mejorarla sintácticamente y tal pero bueno la hice rápido:

Código PHP:
if($_SERVER["SERVER_NAME"] == "localhost")
{
    
$path = (strtoupper(substr(PHP_OS03)) === "WIN") ? "\\" "/";
    
$replace explode($pathdirname(__file__));
    
$dir $replace[count($replace)-1];
    echo 
$dir;
}
else
{
    
$path ".";
    
$replace explode($path$_SERVER["SERVER_NAME"] );
    
var_dump($replace);
    
$dir = (count($replace) == 2) ? $replace[0] : $replace[1];
    echo 
$dir;

Y encontré esta web que lo mismo es útil a alguien:

http://www.tufuncion.com/path-php
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Última edición por Jask; 10/05/2012 a las 13:15
  #7 (permalink)  
Antiguo 10/05/2012, 16:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿Cómo saber si un proyecto está en localhost o en un dominio?

Sigo pensando que tu mejor solución es que uses un VirtualHost, es la opción más limpia para lo que requieres.
  #8 (permalink)  
Antiguo 10/05/2012, 17:13
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: ¿Cómo saber si un proyecto está en localhost o en un dominio?

Cita:
Iniciado por GatorV Ver Mensaje
Sigo pensando que tu mejor solución es que uses un VirtualHost, es la opción más limpia para lo que requieres.
No te lo discuto, es más, lo estoy utilizando sin problemas ya, la cosa es que me quedó la espinita jeje.

Muchas gracias :)
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:55.