Comunidad de diseño web y desarrollo en internet online

Ayuda con __autoload PHP

Citar            
MensajeEscrito el 04 Nov 2010 02:10 pm
Hola comunidad de CristaLab, mi problema es el siguiente:

Con la nueva posibilidad de PHP5 __autoload para cargar archivos automaticamente he querido probar como cargar los archivos que contienen mis clases principales como la conexion, sentencias, etc.

El asunto es que estos estan en una carpeta juntos llamada clases, y desde donde las deberia cargar estan en otra carpeta llamada niveles
En cuestion podria hacer un include("../clases/archivo.class.php") correcto pero que pasa si tengo que abrir otro archivo que está en "niveles/admin/gerente" tendria que poner include("../../../clases/archivo.class.php") pero ya no me abriria en la anterior ruta, necesito estandarizar la ruta donde se abre.

Lo que he intentado es engañar con la ruta raiz al include así include(localhost/www/clases/archivo.class.php) pero no he podido, y si pongo include("http://localhost/www/clases/archivo.class.php") me da un error de cabecera.

Algo he leido e intentado con set_include_path pero todo es en vano.


Acá mi codigo:


Código PHP :

function __autoload($class_name) { 
 
    
 
   $path = "localhost/www/clases/"; 
 
   set_include_path($path); 
 
   $file = strtolower($class_name).'.class.php'; 
 
   if (file_exists($file)) include_once ($file); else echo "Imposible abrir Clase ".$class_name; 
 
 
 
}



Agradecería su pronta respuesta.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 04 Nov 2010 02:23 pm
asumiendo esto:

www/autoload.php (donde esta tu funcion autoload)
www/clases/archivo.class.php



Código PHP :

include_once( dirname(__FILE__) . '/clases/archivo.class.php');


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 04 Nov 2010 03:09 pm
pues algo hago mal parece..

autoload.php esta en una carpeta "config" y las clases en otra, ambas en el mismo nivel de carpeta
deberia salir asi:
include_once( dirname(__FILE__) . '../clases/archivo.class.php');

pero me sigue diciendo que no lo puede abrir me arroja:
Warning: include_once(C:\xampplite\htdocs\www\sitio\system\config../clases/archivo.class.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampplite\htdocs\www\sitio\system\config\autoload.php on line 36

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 04 Nov 2010 03:11 pm

Código PHP :

include_once( dirname(__FILE__) . '/../clases/archivo.class.php');


Fíjate el / antes de los dos puntos

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 04 Nov 2010 03:53 pm
De lujo y muchas gracias por tu pronta respuesta =)

Ahora tengo otro problemita con la conexion al recibir los datos que trae un archivo pero creo que si puedo solucionarlo, sino molesto en un rato jeje
muchísimas gracias.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.