2014-02-25 63 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

謝謝!你救了我的時間:) –

相關問題