spl_autoload_register的问题

时间:2014-11-26 12:53:53

标签: php pdo

我的问题是在我的网页上http://it-fix.nu/login.php我收到了错误

警告:require_once(classes / input.php):无法打开流:/comersomers/6/f/9/it-fix.nu/httpd.www/core/init.php中没有此类文件或目录第26行致命错误:require_once():在/comersomers/6/f/9/it-fix.nu/httpd中打开所需的'classes / input.php'(include_path ='。:/ usr / share / php')失败第26行的.www / core / init.php

这是我的核心/ init.php文件

<?php session_start();

$GLOBALS['config'] = array(
    'mysql' => array(
        'host' => 'xxxxxx',
        'username' => 'xxxxxx',
        'password' => 'xxxxxxx',
        'db' => 'xxxxxxx'
    ),
    'remember' => array(
        'cookie_name' => 'hash',
        'cookie_expiry' => 604800
    ),
    'session' => array(
        'session_name' => 'user',
        'token_name' => 'token'
    )
);

spl_autoload_register('myAutoloader');

function myAutoloader($className)
{
    $path = 'classes/';

    require_once $path.$className.'.php';
}

require_once 'functions/sanitize.php';

if (Cookie::exists(Config::get('remember/cookie_name')) && !Session::exists(Config::get('session/session_name'))) {
    $hash = Cookie::get(Config::get('remember/cookie_name'));
    $hashCheck = DB::getInstance()->get('users_session', array('hash', '=', $hash));

    if ($hashCheck->count()) {
        $user = new User($hashCheck->first()->user_id);
        $user->login();
    }
}?>

我意识到问题是大小写敏感度。

但如果我将文件名从Input.php更改为input.php,我将得到相同的错误,但这次是http://it-fix.nu/register.php

这两个文件位于同一个文件夹中。

1 个答案:

答案 0 :(得分:-2)

// auto-load classes
spl_autoload_register(function($class){
    require_once ('classes/' . $class . '.php');
});

使用此代码段可以解决您的问题


修改

还要确保您使用与您的文件名完全相同的名称,否则它不会工作,是的,这种语法更好