使用include获取php中的根文件夹路径

hgb9j2n6  于 2023-02-07  发布在  PHP
关注(0)|答案(3)|浏览(138)

我有一个名为mywebsite的php web应用程序在c:\wamp\www\ .这个文件夹由featured/fashionWeek/database/Mysql.php文件组成。我使用dirname(FILE)函数从根目录获得文件夹的路径,这样我就可以将文件夹放置在live服务器的public_html文件夹中的任何地方。
它在我的本地主机上运行得很好。我在wamp\www\mywebsite\featured\fashionWeek\database\Mysql. php里面有下面的代码。运行良好,返回以下路径:C:/wamp/www/我的网站/精选/时装周/数据库

<?php  include(dirname(__FILE__).'/../config/Dbconfig.php') ;?>

但当我把mywebsite文件夹下的public_html文件夹的活服务器。它给出了以下错误:

Warning: include(/home/websitename/public_html/featured/fashionWeek/database/../config/Dbconfig.php) [function.include]: failed to open stream: No such file or directory in /home/websitename/public_html/featured/fashionWeek/database/Mysql.php on line 3

Fatal error: include() [function.include]: Failed opening required '/home/websitename/public_html/featured/fashionWeek/database/../config/Dbconfig.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/websitename/public_html/featured/fashionWeek/database/Mysql.php on line 3
6psbrbz9

6psbrbz91#

要后退,例如'..',可以使用dirname函数。

<?php
include(dirname(dirname(__FILE__)).'/config/Dbconfig.php');

应该可以。

更多

最终管理这些会很麻烦,所以我建议在你的原始文件中定义一个ROOT常量,它包含了你项目根目录的绝对路径,这很简单。

defined('ROOT') or define('ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);
yacmzcpb

yacmzcpb2#

https://stackoverflow.com/a/2152320/1528331
看能不能帮上忙。还有,

dirname(__FILE__) is the same as __DIR__
8cdiaqws

8cdiaqws3#

有点软,但可能对你有帮助

if(!function_exists('getRootdir'))
{
function getRootdir($NFILE)
{
$filefitter="";
while(!file_exists($filefitter.$NFILE))
$filefitter="../".$filefitter;
return $filefitter;
}
}

使用

like  $rootpath=getRootdir("Root identifier folder / php file");

相关问题