PHP - Relative paths “require”

送分小仙女□ 提交于 2019-12-18 04:49:04

问题


My directory structure looks like this:

blog -> admin -> index.php
blog.php
db.php
functions.php

I have been trying to include (require, really) blog.php in the admin/index.php, but facing lots of errors. I'm following a PHP course, and the instructor does the same thing successfully.

admin/index.php:

require "../blog.php";

which, in turn, requires two more files in its directory.

require "db.php";
require "functions.php";

回答1:


If you find that relative include paths aren't working as expected, a quick fix is to prepend __DIR__ to the front of the path you're trying to include.

require __DIR__ . "/../blog.php";

It's reasonably clean, and you don't need to modify the include path or working directory.




回答2:


You need to set the include_path in your php.ini.

If you want to set it at run-time, use set_include_path().




回答3:


If you are including this files db.php and functions.php in index.php then you have to write this code

require "../db.php";
require "../functions.php";

OR if you are including this files in blog.php then write this code

require "db.php";
require "functions.php";



回答4:


I like to start my files with chdir($_SERVER['DOCUMENT_ROOT']). This allows me to get a nice and logical base path for all my includes.



来源:https://stackoverflow.com/questions/13898894/php-relative-paths-require

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!