Hace unos días recibía un email de un usuario (Alex) en el que me preguntaba mi opinión acerca de como obtener la ruta completa de un fichero en PHP.
El tema se comenta en este hilo , paso a resumir:
Problema de rutas 1Supongamos que tenemos como ruta del "public_html" esta ruta completa: "/home/tuweb/public_html/" y lo que queremos es un archivo que está dos subdirectorios abajo... ó lo que es lo mismo en el raiz.
La respuesta podría ser $_SERVER['DOCUMENT_ROOT'] (El directorio raíz de documentos bajo el que está siendo ejecutado el script actual), pero el autor del hilo descarta esta opción para ello nos da tres alternativas:
Alternativa 1:
str_replace("subdir/subdir/miscript.php", "", __FILE__);
Alternativa 2:
dirname(dirname(__FILE__));
Alternativa 3:
realpath("../../");
__FILE__ nos devuelve el nombre del fichero utilizado en la ejecución del script.
str_replace :Sustitiye todas las apariciones de una cadena en otra
dirname : Devuelve el nombre del directorio de un ruta dada.
realpath : Devuelve el nombre de ruta absoluto simplificado.
¿Cúal de estas tres opciones os parecen mejor (limpia, rápida y óptima)?
Problema de rutas 2Otro tema relacionado con las rutas de Php con el que me encontré hace poco tiempo es el siguiente:
Necesitaba obtener mediante una función la URL raiz a partir de una URL dada, voy a poner un ejemplo para facilitar un poco la comprensión del problema:
URL ofrecida: http://www.tufuncion.com/index.php
URL devuelta por función: http://www.tufuncion.com/
URL ofrecida: http://www.tufuncion.com/themes/tufuncion/logo.png
URL devuelta por función: http://www.tufuncion.com/
Esta es la función que finalmente utilicé:
function obtener_url_raiz($url) {
$parte1 = explode("/", $url);
$count = count($parte1);
$count_array = $count - 1;
if ($count >= 4) {
if ($parte1[$count_array] != '') {
$path = str_replace($parte1[$count_array], '', $url); }
else { $path = $url; }
} else {
if(substr($url,-1) != '/') $url .= '/'; $path = $url; }
return $path;
}
Usuarios que han visto este tema también han visto...
- Tabla de Multiplicar en PHP
- Introducción rápida a las sesiones
- Listado de registros PHP MySQL
- Códigos y Valores de colores RGB con PHP
- Thumbnails en PHP
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.