Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Acceder carpeta distinta a la que estamos.

Tengo un archivo en "c:/www/html/index/autocomp.php" que me incluye dentro unos includes a unos archivos que están en otra carpeta distinta a "html"

Si pongo la ruta completa "c:/www/lib/funciones_conexiondb.php" en el include de autocomp.php me funciona sin problemas las funciones del otro archivo, pero me gustaría saber si hay una forma mas elegante y que acarree menos problemas en el futuro (para cuando lo pase al RX-100 con ubuntu).

Gracias mil.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #2  
Antiguo 23-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una opción es centralizar este tipo de rutas en un archivo de configuración que incluyes en todos tus scripts. Por ejemplo:

config.php

Código PHP:
define('DIR_BASE''c:/www' DIRECTORY_SEPARATOR);
define('DIR_LIB'DIR_BASE 'lib' DIRECTORY_SEPARATOR);
define('DIR_THIRDPARTY'DIR_LIB 'thirdparty' DIRECTORY_SEPARATOR);
define('DIR_PDF'DIR_THIRDPARTY 'fpdflib' DIRECTORY_SEPARATOR);
define('DIR_TEMPLATES'DIR_BASE 'templates' DIRECTORY_SEPARATOR);

etc
DIRECTORY_SEPARATOR es una constante predefinida que toma el valor correcto según si estás en unix o windows. Esto se lo aprendí a dec, y es muy útil porque evitas cargar la constante en el resto de scripts:

Código PHP:
require_once('config.php');
require_once(
DIR_PDF 'fpdf.php'); 
en lugar de

Código PHP:
require_once('config.php');
require_once(
DIR_PDF DIRECTORY_SEPARATOR 'fpdf.php'); 
El archivo config.php en sí lo puedes situar en la raíz de los documentos http, por ejemplo, c:/www/html.

Si mantienes una misma estructura de directorios:

Código:
base
  |
  +---- lib
  |      |
  |      +---- thirdparty
  |      |      |
  |      |      +---- fpdf
  |      |      |
  |      |      +---- biff
  |      |
  |      +---- database
  |      |
  |      +---- whatever
  |
  +---- templates
  |
  .
  .
  .
en principio bastará cambiar la ruta base pues todas las demás derivan de ella.

Por otra parte, te comento que no es necesario poner tus directorios fuera de la raíz web. Si usas Apache, puedes restringir el acceso externo a directorios completos poniendo un archivo .htaccess dentro:

.htaccess
Código:
Order allow,deny
aunque para ello, el servidor debe habilitar la reescritura de directivas en tu raiz web.

// Saludos
Responder Con Cita
  #3  
Antiguo 23-08-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Todos los directorios están dentro del raiz web, lo que pasa es que están en diferentes "paths" y por eso ando perdido.

Acabo de leer tu respuesta pero se me presenta compleja, voy a leermela con mas calma y ya comentaré como ha ido.

Gracias por la información.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #4  
Antiguo 23-08-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Ya lo he implementado, sin apenas problemas.

La verdad es que es una solución excepcional, gracias Roman y gracias Dec.

Da gusto tener a compañeros así por el foro, como una red de protección o algo similar

Un fuerte saludo.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #5  
Antiguo 23-08-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

He subido de una forma un tanto rara (pero parece que efectiva) mi "proyecto" aPHP, tanto su versión para PHP 4 (que ya no continuaré) como su versión para PHP 5 (en la que trabajo de vez en cuando). No sé si te interesará echarle un vistazo papulo, pero, yo no podía dejar pasar esta ocasión para hacerlo.

http://web.madritel.es/personales2/amcalderon/aphp/
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 24-08-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Requete mirado.

Muchos "Dankes" Dec.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Acceder a una carpeta de un servidor lgarcia Varios 2 08-06-2007 18:22:05
Impresión Distinta al Preview caramelillo Impresión 0 08-03-2007 00:04:45
Acceder a una base de datos en una carpeta FTP en internet Crashthebig Internet 1 27-02-2007 10:05:16
Capturar ruta de acceso a la carpeta mis documentos y a la carpeta activa. Pepe Torres API de Windows 1 23-02-2007 23:02:21
2 Detail con fuente de datos distinta - QuickReport MarcoMae Impresión 1 04-07-2006 00:20:42


La franja horaria es GMT +2. Ahora son las 19:48:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi