我有一个使用PDO通过PHP构建的网站。在我的init.php
文件中,我使用spl_autoload_register
方法,然后使用require_once
sanitize.php
文件来清理数据。当我require
来自根文件夹的core/init.php
文件时,它一切正常,但如果我在root中创建一个文件夹,无论它被调用什么,我需要../core/init.php
然后它抛出了这个错误:
[03-Apr-2014 22:10:06 Europe/Berlin] PHP Warning: require_once(functions/sanitize.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/project1/login/core/init.php on line 29
这是init.php
文件:
// Autoload classes
function autoload($class) {
require_once 'classes/' . $class . '.php';
}
spl_autoload_register('autoload');
// Include functions
require_once 'functions/sanitize.php';
有什么想法吗?
更新
文件结构:
root
core
init.php
classes
... all classes
css
functions
sanitize.php
processes
login.inc.php
js
script.js
index.php
在脚本文件中,我正在调用login.inc.php
文件。如果login.inc.php
文件位于processes
文件夹之外,则它可以正常运行并且没有错误,如果它在processes
文件夹中,则会抛出该错误。
答案 0 :(得分:0)
require_once __DIR__ . '/functions/sanitize.php';
答案 1 :(得分:0)
使用docroot变量:
$doc_root = $_SERVER['DOCUMENT_ROOT'];
require_once($doc_root . "/functions/sanitize.php");