现在我的应用程序已构建,我正在研究如何保护它。如果我将database.php文件放在公用文件夹之外的文件夹中,我该如何从应用程序内部指向它?仅仅使用include结构是不够的,因为它只会到达公共文件夹的顶部。
include '../database.php';
答案 0 :(得分:1)
您可以使用dirname()
。让我们说你的文件夹结构是:
public_html/
index.php
contact.php
whatever.php
private/
database.php
在public_html
文件中,您可以致电:
$db_file = dirname( $_SERVER[ 'DOCUMENT_ROOT' ] ) . '/private/database.php';
include_once( $db );
如果public_html
是$_SERVER[ 'DOCUMENT_ROOT' ]
,dirname
会为您提供包含public_html
和private
的文件夹。然后你只需要将路径传递给database.php
。
如果它升级到另一个级别(或更高级别),您可以多次使用dirname
:
$db_file = dirname( dirname( $_SERVER[ 'DOCUMENT_ROOT' ] ) ) . '/private/database.php';
这会让你获得另一个文件夹。
答案 1 :(得分:1)
您可以多次使用include '../../../../database.php';
每个..代表一个父文件夹
您也可以定义完整路径而不是相对路径
比如include '/home/secret_folder/place_of_database/database.php';
答案 2 :(得分:1)
您可以使用'./'指定您所在文件的当前路径 然后使用它的许多'../'在文件夹之间移动并获取你想要包含的文件