Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: gAb1 en 17 Abril 2013, 16:08 pm



Título: Crear una url de directorio
Publicado por: gAb1 en 17 Abril 2013, 16:08 pm
No tengo ni idea de como se llama lo que quiero hacer, puede que no se entienda el problema con el titulo que puse, pero ahora lo explico y se entendera.

Estoy customizando un CMS en el que quiero meter paginas nuevas y para ello necesito crear carpetas nuevas en los directorios. Para tenerlo bien organizado, no quiero usar el directorio de un archivo php para leer las carpetas y archivos includes que necesita, poner las carpetas en la misma donde va el php.

Primero me gustaría saber como se llama la variable que se escribe justo delante del directorio donde se va a leer o llamar un archivo: {TEMPLATE_URL}/carpeta1/carpeta2/archivo.jpg/js/css/php/etc... ¿Como se llama eso? Se que en algún archivo deben de estar declaradas todas, y la dirección real, creo que una vez vi ese archivo pero ya no recuerdo donde esta.

Bueno, como puedo hacer una nueva que apunte hacia un directorio dentro de public_html? Para no tener que usar la direccion real y más que nada para acortarla.

Gracias.


Título: Re: Crear una url de directorio
Publicado por: дٳŦ٭ en 17 Abril 2013, 16:44 pm
Échale un ojo a la docu de la variable $_SERVER de PHP.

Tip:

<?
print_r($_SERVER);
?>

Suerte

http://php.net/manual/es/reserved.variables.server.php


Título: Re: Crear una url de directorio
Publicado por: #!drvy en 17 Abril 2013, 17:30 pm
Hola,

Código
  1. <?php
  2. if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443)
  3.   {$protocol = 'https://';} else {$protocol = 'http://';}
  4.  
  5. define('cms_url',$protocol.$_SERVER['HTTP_HOST'].'/micms/');
  6. define('cms_surl',$protocol.$_SERVER['SERVER_NAME'].'/micms/');
  7. define('cms_ruta',$_SERVER['DOCUMENT_ROOT'].'/micms/');
  8.  
  9. echo cms_ruta; // /usr/local/apache/htdocs/micms/ || C:/SERVIDOR/public_html/micms/
  10. echo '<br />';
  11. echo cms_url; // http://dominio.com/micms/ || https://dominio.com/micms/
  12. echo '<br />';
  13. echo cms_surl; // http://dominio.com/micms/ || https://dominio.com/micms/
  14. ?>

cms_ruta es la ruta interna con la que puedes hacer includes, mientras que las cms_url son los urls a los que puedes llamar archivos como .jpg y etc..

La diferencia entre HTTP_HOST y SERVER_NAME es que HTTP_HOST te lo envía el cliente y puede ser manipulado. En cambio SERVER_NAME es el que se indica en la configuración del servidor, pero aveces puede estar mal configurado.

Un ejemplo real: http://monkeydeal.comlu.com/config.php

Saludos


Título: Re: Crear una url de directorio
Publicado por: gAb1 en 18 Abril 2013, 02:47 am
Lo que no sé, es donde poner los cambios que haga para que funcione, ¿en que archivo debo añadirlo? Creo que en un controller, pero no estoy seguro...

Mira, este es el CMS https://github.com/Plexis/Plexis