关于 require_once的多次包含时的路径问题
假如有a.php , b.php , c.php三个文件,a和b在根目录下,c在test子目录下,在c.php中用了require_once '../b.php';如果这时a.php中用了require_once 'test/c.php';那么浏览器就会报错,这是因为这种包含只是相对路径,在这种情况下多次包含路径就会变得不准确,解决方法就是用绝对路径。
可以用 dirname(__FILE__) 或者 __DIR__ 来获取当前php文件的目录路径,也就是文件的就对路径,再拼接一个相对路径给require_once。
$dbh = new PDO('sqlite:'.dirname(__FILE__).'/'.'d.db');
不过一般在项目里的通常做法是,定义一个入口index.php文件,在这个index.php里定义一个项目根路径,再用根路径来拼接其他php文件路径给require_once。
代码 2020-05-05 16:08:59 通过 网页 浏览(2194)
共有0条评论!