<?require_once("xxx/xxx/xxx.php");?>我检查程序第一段有这个东西,但程序对应的目录里并没有这个文件,但还是可以起作用,我用find命令去查过xxx.php这个文件,也确实找到了,但在很远的一个目录下,不知道这个是怎么设置的,望赐教PHP Version 5.2.14 

解决方案 »

  1.   

    define('PHPCMS_ROOT', str_replace("\\", '/', substr(dirname(__FILE__), 0, -7)));
    require PHPCMS_ROOT.'languages/'.LANG.'/phpcms.lang.php';
    这两句是你想要的,但你要是只会复制就完了。以下摘自phpcms的common.inc.php的,php代码架构中往往有文件初始化一些变量。还有文件定义一些基本函数。。java也一样,要比这复杂多了。有时间看看开源代码。
    define('PHPCMS_ROOT', str_replace("\\", '/', substr(dirname(__FILE__), 0, -7)));
    define('MICROTIME_START', microtime());
    define('IN_PHPCMS', TRUE);
    define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
    define('TIME', time());
    set_include_path(PHPCMS_ROOT.'include/');
    set_magic_quotes_runtime(0);
    define('IP', ip());
    define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
    define('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : preg_replace("/(.*)\.php(.*)/i", "\\1.php", $_SERVER['PHP_SELF']));
    define('QUERY_STRING', safe_replace($_SERVER['QUERY_STRING']));
    define('PATH_INFO', isset($_SERVER['PATH_INFO']) ? safe_replace($_SERVER['PATH_INFO']) : '');
    define('DOMAIN', isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : preg_replace("/([^:]*)[:0-9]*/i", "\\1", $_SERVER['HTTP_HOST']));
    define('SCHEME', $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://');
    define('SITE_URL', SCHEME.$_SERVER['HTTP_HOST'].PHPCMS_PATH);
    define('RELATE_URL', isset($_SERVER['REQUEST_URI']) ? safe_replace($_SERVER['REQUEST_URI']) : SCRIPT_NAME.(QUERY_STRING ? '?'.QUERY_STRING : PATH_INFO));
    define('URL', SCHEME.$_SERVER['HTTP_HOST'].RELATE_URL);
    define('RELATE_REFERER',urlencode(RELATE_URL));
    define('CACHE_FORM', PHPCMS_ROOT.'data/formguide/');
      

  2.   

    谢谢兄弟,不过你说的这个我知道,不是用php语句设置的路径,是他自己自然就有了这个路径,我猜测是php.ini或者apache某地方设置的
      

  3.   

    不要猜测,本来就是
    include_path 就是通知 php 在何处找到引入文件的