2014-02-25 30 views
0

我试图建立一个php类,我可以用来安全地访问我的数据库,并保持我的凭据远离窥探。作为构造函数的一部分,我从Web目录之外的文件构建我的凭据数组。不幸的是,尽管我已经在php中使用其他函数测试了路径,并且使用了vim和putty,但是当我尝试时,我仍然没有发现这样的文件或目录错误。file_get_contents没有这样的文件或目录php

导致错误看起来像这样

$this->creds = explode("\n",file_get_contents("../../../../../private/mysqlinfo.ini")); 

的文件夹结构上我的服务器lookls这样

~/public_html/mysubdomain/projectDirectory/php/includes 

我试图访问会在这里

该文件的行
~/private/mysqlinfo.ini 

以下来自同一目录的函数显示该目录是准确的并且mysqlinfo.ini文件确实存在于目录中

$dir = "../../../../../private"; 

if (is_dir($dir)) { 
    if ($dh = opendir($dir)) { 
     while(($file = readdir($dh)) !== false) { 
      echo "filename: $file || filetype: ". filetype($dir . $file) . "\n"; 
     } 
    } else { 
     echo "could not open directory"; 
    } 
} else { 
    echo "not a directory!"; 
} 

回答

2

该问题可以通过使用绝对路径而不是相对路径来解决。您始终可以尝试在PHP脚本中使用echo dirname(__FILE__);来打印文件目录的完整路径。

+0

与您的解决方案类似,我使用的是魔术常数\ _ \ _ DIR \ _ \ _(它只能在PHP中使用=> 5.3,并且等同于dirname(\ _ \ _ FILE \ _ \ _)) –

+0

谢谢!你救了我的时间:) –

相关问题