Foros del Web » Programando para Internet » PHP »

"Paths" absolutos

Estas en el tema de "Paths" absolutos en el foro de PHP en Foros del Web. Hola a todos, en la aplicación que estoy desarrollado, he necesitado utilizar rutas absolutas, para poder utilizar la interfaz de linea de comados (CLI). El ...
  #1 (permalink)  
Antiguo 02/07/2008, 08:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 7 meses
Puntos: 0
Pregunta "Paths" absolutos

Hola a todos,
en la aplicación que estoy desarrollado, he necesitado utilizar rutas absolutas, para poder utilizar la interfaz de linea de comados (CLI). El problema que tengo ahora, es cómo puedo evitar esas rutas absolutas.

Es decir, almacenarlas en un fichero de configuración o en una BD...Esas rutas estan en el fichero que contiene la clase de conexión a la BD y en otro fichero .php

Este es el fichero de conexión:

Código PHP:
//Usar paths absolutos de los directorios, para poder ejecutar php en linea de comandos
error_reporting(E_ALL); # pasa cualquier mensaje de error al manajeador de errores
include('C:\xampp\htdocs\ServicioTutorias\adodb5\adodb-errorhandler.inc.php');
//para utilizar adodb
include('C:\xampp\htdocs\ServicioTutorias\adodb5\adodb.inc.php');
//Necesario para poder enviar correos
include('C:\xampp\htdocs\ServicioTutorias\Negocio\Correo\class.phpmailer.php');


 class 
GestorBD
{
    
//Atributos de la clase 
  #2 (permalink)  
Antiguo 02/07/2008, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: "Paths" absolutos

Hola centrion_75,

Te recomiendo uses defines en un archivo aparte por ejemplo:
config.php
Código PHP:
define"RUTA_ABS""C:\xampp\htdocs\ServicioTutorias\" ); 
Luego:
Código PHP:
include( "config.php" );
//Usar paths absolutos de los directorios, para poder ejecutar php en linea de comandos
error_reporting(E_ALL); # pasa cualquier mensaje de error al manajeador de errores
include( RUTA_ABS 'adodb5\adodb-errorhandler.inc.php');
//para utilizar adodb
include( RUTA_ABS 'adodb5\adodb.inc.php');
//Necesario para poder enviar correos
include( RUTA_ABS 'Negocio\Correo\class.phpmailer.php');


 class 
GestorBD
{
    
//Atributos de la clase 
Saludos.
  #3 (permalink)  
Antiguo 02/07/2008, 09:56
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: "Paths" absolutos

Ok, lo probaré. Gracias por la respuesta.
  #4 (permalink)  
Antiguo 02/07/2008, 10:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: "Paths" absolutos

Estoy teniendo problemas. Voy a explicar cómo está ahora:

Fichero de conexión:

Código PHP:
//Para el manejo de errores, personalizado    
include( "config.php" );

//Usar paths absolutos de los directorios, para poder ejecutar php en linea de comandos
error_reporting(E_ALL); # pasa cualquier mensaje de error al manajeador de errores
include(RUTA_ABS 'adodb5\adodb-errorhandler.inc.php');
//para utilizar adodb
include(RUTA_ABS 'adodb5\adodb.inc.php');
//Necesario para poder enviar correos
include(RUTA_ABS 'Negocio\Correo\class.phpmailer.php');


 class 
GestorBD
{
    
//Atributos de la clase 
Fichero con la ruta:

Código PHP:
define"RUTA_ABS""C:\xampp\htdocs\ServicioTutorias\ " ); 
Fichero que cotiene las tareas a realizar
Código PHP:
<?php
//Cada día este escritp se ejecutará


//Usar paths absolutos de los directorios, para poder ejecutar php en linea de comandos
include( "config.php" );
require(
RUTA_ABS 'Negocio\gestorprofesores.php');
require(
RUTA_ABS 'Negocio\gestortutorias.php');
require(
RUTA_ABS 'Negocio\gestorfechas.php');
require(
RUTA_ABS 'Negocio\gestoradministradores.php');
//Fichero que contiene los datos de la conexión
require(RUTA_ABS 'Negocio\configuracion.php');
He creado otro fichero config.php igual , pero en el lugar donde se encuentra este script.

El error es el siguiente:

Código PHP:
Warning: require(CmpphtdocsServicioTutorias Negociogestorprofesores.php) [function.require]: failed to open streamInvalid argument in C:xampphtdocsServicioTutoriasReactivosreactivo.php on line 7

Fatal error
: require() [function.require]: Failed opening required 'C: mpp\htdocs\ServicioTutorias\ Negocio\gestorprofesores.php' (include_path=.;C:xamppphppearin C:xampphtdocsServicioTutoriasReactivosreactivo.php on line 7 
  #5 (permalink)  
Antiguo 02/07/2008, 10:21
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: "Paths" absolutos

Se esta comiendo "xa" de C:\xampp.... y no sé porqué.
  #6 (permalink)  
Antiguo 02/07/2008, 10:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: "Paths" absolutos

Tienes que escapar los slashes:
Código PHP:
define"RUTA_ABS""C:\\xampp\\htdocs\\ServicioTutorias\\ " ); 
Saludos.
  #7 (permalink)  
Antiguo 02/07/2008, 11:02
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: "Paths" absolutos

Con el fichero de conexión así:
Código PHP:
//Usar paths absolutos de los directorios, para poder ejecutar php en linea de comandos
error_reporting(E_ALL); # pasa cualquier mensaje de error al manajeador de errores
include( "config.php" );
include(
RUTA_ABS 'adodb5\adodb-errorhandler.inc.php');
//para utilizar adodb
include(RUTA_ABS 'adodb5\adodb.inc.php');
//Necesario para poder enviar correos
include(RUTA_ABS 'Negocio\Correo\class.phpmailer.php');


 class 
GestorBD

Y el fichero con la ruta :

Código PHP:
define"RUTA_ABS""C:\\xampp\\htdocs\\ServicioTutorias\\" ); 
Me dá el siguiente error:
Código PHP:
Notice: Use of undefined constant RUTA_ABS assumed 'RUTA_ABS' in C:xampphtdocsServicioTutoriasNegociogestorbd.php on line 9

Warning
: include(RUTA_ABSadodb5adodb-errorhandler.inc.php) [function.include]: failed to open streamNo such file or directory in C:xampphtdocsServicioTutoriasNegociogestorbd.php on line 9

Warning
: include() [function.include]: Failed opening 'RUTA_ABSadodb5\adodb-errorhandler.inc.php' for inclusion (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\ServicioTutorias\Negocio\gestorbd.php on line 9

Notice: Use of undefined constant RUTA_ABS - assumed '
RUTA_ABS' in C:\xampp\htdocs\ServicioTutorias\Negocio\gestorbd.php on line 11

Warning: include(RUTA_ABSadodb5\adodb.inc.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\htdocs\ServicioTutorias\Negocio\gestorbd.php on line 11

Warning: include() [function.include]: Failed opening '
RUTA_ABSadodb5adodb.inc.php' for inclusion (include_path='.;C:xamppphppear') in C:\xampp\htdocs\ServicioTutorias\Negocio\gestorbd.php on line 11

Notice: Use of undefined constant RUTA_ABS - assumed '
RUTA_ABS' in C:\xampp\htdocs\ServicioTutorias\Negocio\gestorbd.php on line 13

Warning: include(RUTA_ABSNegocio\Correo\class.phpmailer.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\htdocs\ServicioTutorias\Negocio\gestorbd.php on line 13

Warning: include() [function.include]: Failed opening '
RUTA_ABSNegocioCorreoclass.phpmailer.php' for inclusion (include_path='.;C:xamppphppearin C:xampphtdocsServicioTutoriasNegociogestorbd.php on line 13

Fatal error
Call to undefined function adonewconnection() in C:xampphtdocsServicioTutoriasNegociogestorbd.php on line 63 
  #8 (permalink)  
Antiguo 02/07/2008, 11:26
Avatar de electronikito  
Fecha de Ingreso: junio-2008
Ubicación: Montevideo
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: "Paths" absolutos

Probá esto:

Código PHP:
$ruta 'C:\\xampp\\htdocs\\ServicioTutorias\\';

//Usar paths absolutos de los directorios, para poder ejecutar php en linea de comandos
error_reporting(E_ALL); # pasa cualquier mensaje de error al manajeador de errores
include( "config.php" );
include(
$ruta 'adodb5\adodb-errorhandler.inc.php');
//para utilizar adodb
include($ruta 'adodb5\adodb.inc.php');
//Necesario para poder enviar correos
include($ruta 'Negocio\Correo\class.phpmailer.php');


 class 
GestorBD

Usá variables en vez de constantes...
  #9 (permalink)  
Antiguo 02/07/2008, 11:31
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: "Paths" absolutos

Vale ya he encontrado la solución:

Un fichero con una constante. (Para el fichero de conexión, que este en el mismo sitio)

Otro fichero con la misma constante, pero distinto nombre. (Para el fichero que tiene las tareas y en el mismo lugar )

Y los nombre de ficheros que contienen a las constantes, que sean distintos.

Muchas gracias por ayudarme.
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 22:04.