Pregunta

enter image description here

Tengo la siguiente estructura de directorios, puse todas mis clases dentro classes/ como se muestra a continuación, y tengo un header.php que llama a todos los archivos y tiene otras configuraciones importantes que todos los archivos comparten.

Ahora, si uso spl_autoload_register() Por aquí:

spl_autoload_register(function($class){
        include 'classes/'. $class .'.class.php';
    });

adentro inc/header.php archiva y llama a esto header.php de mi index entonces funciona bien en mi host local, pero cuando subo todo el script tal cual a un host en vivo, aparece errores como.

Warning: include(classes/filehandler.class.php) [function.include]: failed to open stream: No such file or directory in /home/.../public_html/....com/inc/header.php on line 9 

Line 9 es el spl_autoload_register()

No entiendo cómo pudo suceder esto y espero que alguien tenga alguna idea.

gracias

¿Fue útil?

Solución

Para mostrar lo que quiero decir con mis comentarios, agregue este código en su archivo index.php y retire el autocargador de sus otros archivos:

spl_autoload_register(function($class){
    $classesPath = dirname(__FILE__) . '/classes/';
    if (is_file($classFile = $classesPath . $class.'.class.php')) {
        include $classFile;
    }
});

for inc / encabezado.php:

spl_autoload_register(function($class){
    $classesPath = dirname(__FILE__) . '/../classes/';
    if (is_file($classFile = $classesPath . $class.'.class.php')) {
        include $classFile;
    }
});

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top