Foros del Web » Programando para Internet » PHP »

Rutas en php

Estas en el tema de Rutas en php en el foro de PHP en Foros del Web. Bueno, he estado leyendo y probando pero no he podido solucionar un problema que tengo. Os explico mi situación, uso xampp, y tengo una aplicación ...
  #1 (permalink)  
Antiguo 01/11/2010, 08:58
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 9 meses
Puntos: 1
Rutas en php

Bueno, he estado leyendo y probando pero no he podido solucionar un problema que tengo.

Os explico mi situación, uso xampp, y tengo una aplicación web la cual quiero tener organizada por carpetas, en la raiz pongamos que va header.php, index.php y footer.php, hasta ahí muy bien, luego supongamos que en index.php se mandan unos datos mediante formularios desde un archivo que esta en la carpeta functions, os dejo un pequeño esquema mejor:

RAIZ (.../htdocs/Socios/)
  • header.php
  • index.php
  • estilo.css
  • footer.php
  • funciones(carpeta)
    • insertar_datos.php

Pues bien, al incluir el header y footer en insertar datos (ya que quería darle gráficos a esa página) no lo consigo pues el include incluye header.php pero en header.php tengo definido estilo.css y por tanto este se "descuelga" quedando en la superior en este caso.

Pues bien, leí un poco y una de las soluciones que más factibles me pareció fue crera un archivo nuevo donde incluir la ruta taíz, lo creé con este contenido:
Código:
<?php 
define('RAIZ',$_SERVER['DOCUMENT_ROOT'] . "/Socios/"); 
?>
De acuerdo, este define me convierte a RAIZ en la ruta del htdocs, en mi caso tengo la aplicación en un subdirectorio llamado "socios" así que le concatene la cadena. Este archivo lo incluí en header.php y llamo al archivo css de esta forma:

Código:
<link rel="stylesheet" type="text/css" href="<?php echo RAIZ.'style.css' ?>" media="screen" />
La cuestión esque ahora la parte de index.php que funcionaba ni funciona, ni la de inserción de datos, así que más que igual estoy peor.. pero lo curioso esque al mirar el código html de la página en cuestión obtengo esto:
Código:
<link rel="stylesheet" type="text/css" href="C:/xampp/htdocs/Socios/style.css" media="screen" />
Por lo que no sé porqué no puedo "linkear" el estilo correctamente, espero haberme explicado bien, o al menos lo he intentado :)

Gracias a los que se molesten en leerlo
  #2 (permalink)  
Antiguo 01/11/2010, 09:06
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: Rutas en php

Lo que pasa es $_SERVER['DOCUMENT_ROOT'] te da la ruta física a tus archivos, no la ruta relativa (URL) eso lo tienes que definir manualmente en tu define.

Saludos.
  #3 (permalink)  
Antiguo 01/11/2010, 09:16
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Rutas en php

Mi idea era que fuera una aplicación lo más portable posible, me explico, si yo la quiero instalar ahora en un host, pues que me reconociera la carpeta donde la he situado al menos, o de la forma más sencilla para un usuario. Siempre aprovechando la utilidad que me dará para incluir desde la carpeta raíz de la misma aplicación. Porqué no sé como se haría..
  #4 (permalink)  
Antiguo 01/11/2010, 09:31
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: Rutas en php

Pues simplemente incluye desde / cuando tu haces por ejemplo:
Código HTML:
Ver original
  1. <link rel="stylesheet" type="text/css" href="/style.css" media="screen" />

Siempre lo va a cargar desde la raiz del document root.

Saludos.
  #5 (permalink)  
Antiguo 01/11/2010, 09:56
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Rutas en php

Ok, tan simple como eso, muchas gracias :)

Etiquetas: rutas
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 18:50.