<?php
//this is intializer.php
defined('DS')? null :define('DS',DIRECTORY_SEPARATOR);
defined('SITE_ROOT')? null :
define('SITE_ROOT',DS.'C:',DS.'wamp',DS.'www',DS.'photo_gallery');
defined('LIB_PATH')?null:define('LIB_PATH',SITE_ROOT.DS.'includes');
require_once(LIB_PATH.DS.'datainfo.php');
require_once(LIB_PATH.DS.'function.php');
require_once(LIB_PATH.DS.'session.php');
require_once(LIB_PATH.DS.'database.php');
require_once(LIB_PATH.DS.'user.php');
//this is other file where i call php file
// ERROR Use of undefined constant LIB_PATH - assumed 'LIB_PATH' in
//C:\wamp\www\photo_gallery\includes\database.php on
//Notice: Use of undefined constant DS - assumed 'DS' in
//C:\wamp\www\photo_gallery\includes\database.php on
include(LIB_PATH.DS."database.php")
?>
有关可能导致上述错误的原因的任何想法?提前感谢您的帮助。
答案 0 :(得分:2)
这与您的问题没有直接关系,但
define('SITE_ROOT',DS.'C:',DS.'wamp',DS.'www',DS.'photo_gallery');
应该是
define('SITE_ROOT',DS.'C:'.DS.'wamp'.DS.'www'.DS.'photo_gallery');
答案 1 :(得分:2)
你需要这样做:
defined('SITE_ROOT')? null :
define('SITE_ROOT','C:'.DS.'wamp'.DS.'www',DS.'photo_gallery');
在站点根目录开始之前,您不需要DIRECTORY_SEPARATOR
。
你可能会更好:
defined('SITE_ROOT')? null : define('SITE_ROOT', dirname(__FILE__));
只要 intializer.php 位于根目录
中答案 2 :(得分:1)
您必须在database.php
require_once("../../includes/initialise.php");
并删除
require_once (LIB_PATH.DS."config.php");
因为常量LIB_PATH
和DS
不是可访问的unles,您添加以下代码
require_once (LIB_PATH.DS."config.php");
答案 3 :(得分:1)
好的,所以我认为你要找的是实际的系统文件路径。为此,你可以回应
dirname( __FILE__ );
您可以在任何所需的文件中执行此操作,它将显示相对于您的文件的系统文件路径。对我来说就是这样的:
/home2/myusername/public_html/project_name/includes/config.php
所以如果你对“project_name”文件夹感兴趣,你应该有这样的东西:
defined("SITE_ROOT") ? null : define("SITE_ROOT", DS . "home2" . DS . "myusername" . DS . "public_html" . DS . "project_name" );
然后,如果您正在寻找将作为您的图书馆的“包含”文件夹,您应该具有以下内容:
defined("LIB_PATH") ? null : define("LIB_PATH", SITE_ROOT . DS . "includes" );
希望这会有所帮助。我有完全相同的问题,这对我有用。
干杯, Mihai Popa