如何在不指定子文件夹路径的情况下包含php文件
通常,我们使用以下代码将php文件包含在彼此内部:
<?php
include_once 'include/config.php';
// OR
include 'include/config.php';
// OR
include_once $_SERVER['DOCUMENT_ROOT'].'include/config.php';
// ect...
?>
但上述代码仅适用于php文件位于根文件中的情况。我的意思是,如果我们将文件移动到子文件夹中。我们需要对php文件中包含的代码进行更改。例如:
<?php
include_once 'subfolder/include/config.php';
// OR
include 'subfolder/include/config.php';
// OR
include_once $_SERVER['DOCUMENT_ROOT'].'/subfolder/include/config.php';
// ect...
?>
我想说的是,当我们将php文件移动到子文件夹中时,include_once希望看到像()这样的子文件夹名称。这是一个具有挑战性的情况,因为我们需要为许多文件中包含的页面执行此操作。include_once 'subfolder/include/config.php';
例如,我包括从,也包括这个包括.php文件从所有php文件,如.它从根文件夹工作正常,但是如果我们移动子文件夹中的文件,则包含.php不包含的文件,没有子文件夹名称。include_once $_SERVER['DOCUMENT_ROOT'].'/functions/includes.php';
index.php
header.php, posts.php, and ajax_post.php
也许也可以使用 ..htaccess
我已经制作了这个htaccess代码,也许你有一个使用htaccess的解决方案。我必须说我尝试过使用,但包含文件不起作用。RewriteBase /subfoldername/
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=302,NE,L]
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*)index\.php$ /$1 [L,R=302,NC,NE]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^group/([\w-]+)/?$ sources/group.php?group_username=$1 [L,QSA]
RewriteRule ^profile/([\w-]+)/?$ sources/user_profile.php?username=$1 [L,QSA]
RewriteRule ^profile/(followers|friends|photos|videos|locations|musics)/([\w-]+)/?$ sources/$1.php?username=$2 [L,QSA]
RewriteRule ^admin/(.*)$ admin/index.php?page=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
RewriteRule ^(.+?)/?$ index.php?pages=$1 [L,QSA]
.我的责任是,我们如何包含没有子文件夹名称的php文件?