1

我在 c:\wamp\www\ 中有名为mywebsite的 php Web 应用程序。该文件夹由features/fashionWeek/database/Mysql.php文件组成。我使用 dirname( FILE ) 函数从根目录获取文件夹路径,以便可以将文件夹放置到实时服务器的 public_html 文件夹中的任何位置。

它在我的本地主机中运行良好。我在 wamp\www\mywebsite\featured\fashionWeek\database\Mysql.php 中有以下代码 include(dirname( FILE ); 工作正常,返回此路径:C:/wamp/www/mywebsite/featured/fashionWeek/database

<?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
4

3 回答 3

0

有点松弛,但它可以帮助你

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");
于 2013-03-10T12:13:21.493 回答
0

要倒退,即“..”,您可以使用该dirname功能。

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

应该管用。

更多的

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

defined('ROOT') or define('ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);
于 2013-03-10T11:49:58.463 回答
0

https://stackoverflow.com/a/2152320/1528331

看看是否有帮助。还,

dirname(__FILE__) is the same as __DIR__
于 2013-03-10T11:51:19.620 回答