Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/02/2014, 06:58
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: Rutas relativas y absolutas en servidor local

Explico cómo estoy distribuyendo el código y muestro mi código a continuación.

En la carpeta raíz de root tengo la carpeta del proyecto "miblog" y dentro de ella las siguientes carpetas:

-controllers.
-models.
-views.

Dentro de views tengo:

-css.
-events.
-html.
-img.

creo que es fácil saber para qué sirve y qué contiene cada carpeta.

A la hora de crear una nueva sección en el blog tengo que hacer lo siguiente para que se vea:

-Crear un archivo en css, en html y en events.

-Incluir el html en events, el event en el index y el css en el index.php.

De tal manera que algo así sería mi código por ejemplo para incorporar un apartado donde el usuario vea mis mensajes en las redes sociales.

social_msg.css |en carpeta views/css
Código CSS:
Ver original
  1. /*estilo para los mensajes del admin en las redes sociales*/
  2.  
  3. #social_msg{
  4.    
  5. }

social_msg.php|en carpeta views/html
Código PHP:
Ver original
  1. <?php
  2. /*HTML para los mensajes del admin en las redes sociales*/
  3.  
  4. function html_social_msg()
  5. {
  6. }
  7. ?>

social_msg|en carpeta views/events
Código PHP:
Ver original
  1. <?php
  2. /*eventos para los mensajes del admin en las redes sociales*/
  3. require_once($_SERVER['DOCUMENT_ROOT'].'/xampp/web/miblog/views/html/social_msg.php'); //linea 3
  4. function print_social_msg(){
  5.     return html_social_msg();
  6. }
  7. ?>

Si lo coloco como ruta relativa, es decir así
Código PHP:
Ver original
  1. require_once('../html/social_msg.php');

me devuelve el siguiente error

Cita:
Warning: require_once(../html/social_msg.php): failed to open stream: No existe el fichero o el directorio in /opt/lampp/htdocs/xampp/web/miblog/views/events/social_msg.php on line 3

Fatal error: require_once(): Failed opening required '../html/social_msg.php' (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/xampp/web/miblog/views/events/social_msg.php on line 3
Así que decidí poner la ruta absoluta para poder ir avanzando.

Pero ayer al querer probar cómo se verían las imágenes en la portada me encontré con lo siguiente:

si en el archivo summary.php, que se encuentra en la carpeta views/html, quiero poner un img src

tengo que poner la ruta absoluta, es decir, así

Código HTML:
Ver original
  1. <img src="http://localhost/xampp/web/miblog/views/img/Android.png" alt="..."/>

si pongo la relativa

Código HTML:
Ver original
  1. <img src=../img/Android.png alt="..."/>

no se reproduce la imagen.

Esto es rarísimo, porque todo el directorio del proyecto tiene todos los permisos (chmod -R 777 miblog/).

Y además al utilizar AptanaStudio3, al iniciar con dos puntos para escribir la ruta de la imagen el IDE me va mostrando lo que hay en cada directorio que voy escribiendo y exactamente hace lo mismo que yo porque la imagen está ahí.

Por el contrario esto no me pasa en el index.php al incluir las hojas de estilo o los events.

Es rarísimo y nunca me ha pasado :S

Edito:

He tenido que quitar las comillas del último código HTML porque sino el highlight de foros del web auto-incorpora la dirección de forosdelweb.com y mi ruta a la imagen en el ejemplo :S
__________________
Ayúdame a hacerlo por mi mismo.