Step #1:了解两个概念:
当前工作目录:当前php文件的目录
当前处理文件目录:当前php文件引用到的文件的目录。
Step #2:例子:
// 目录1下的a.php代码Step #3:实际案例:
<?php
header("Content-Type:text/html;charset=UTF-8");
require_once'../b.php';
echo "这里是a";
?>
//php_test根目录下的b.php代码,想调用和他同目录的c.php
<?php
require_once'c.php';
echo "这里是a上一级的b";
?>
//php_test根目录下的c.php代码
<?php
echo "这里是和b同一目录的c";
?>
//目录1下的c.php代码
<?php
echo '这是和a同目录的c';
?>
//结果如下
这是和a同目录的c
这里是a上一级的b
这里是a
项目中需要调用php.exe运行websocket,
当你使用引用include('../lib/core/tool.php');的时候是会报错的,错误提示找不当相应文件,这个问题就涉及到了第一步提到的两个概念。websocket.php是当前工作目录的文件,tool.php是引用目录下的文件。
Step #4:解决办法:
一:
string dirname(string path)
给出一个包含有文件全路径的字符串,返回一个去掉文件名的目录名。
__FILE__:预定义变量。文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
define('ROOT_PATH',dirname(__FILE__));一般作为根路径。
二:
也可以使用比较笨的办法,根据不同的系统,给出不同的文件路径下的文件。