2010-06-04 74 views
2

,目前我已經註冊在我的包括路徑的路徑,但有意外的行爲parse_ini_file(沒有加載)parse_ini_file()忽略我在加載parse_ini_file問題包括路徑

(一張小紙條:使用PHPUnit的測試,不知道這是否會影響加載)

例子:

路徑是: 「C:/ mydevelopworkspace /項目/」

在這條道路有很好的,PHP文件和指定許多文件夾的ini,東西是,當我運行parse_ini_file我得到一個錯誤,但是當我做:

require_once 'Project/Config.ini'; 

它輸出的內容,不像parse_ini_file它並沒有真正檢測到它= /任何人都可以表明我一個辦法解決這個或想法在哪裏看? file_get_contents發生同樣的事情...

回答

2

「包含路徑」是在執行include,include_once,require或require_once時搜索的路徑。

對文件進行操作的所有其他函數都不搜索include路徑,包括parse_ini_file。您需要自己指定文件位置。

+0

數字......哦,我想我可以管理 - 有一個想法可以解決它,感謝信息=) – allenskd 2010-06-04 02:23:24

1

您可以更改當前工作目錄,以便在執行parse_ini_file調用時,工作目錄是正確的。

<?php 
$cDir = getcwd(); 

// Changing the directory to your custom one // 
chdir('C:/mydevelopworkspace/'); 

$data = parse_ini_file('Project/Config.ini'); 

// Reseting the current working directory to the previous one // 
chdir($cDir); 
?> 
+0

哇,didn不知道你可以做到這一點...嗯,我已經修好了:)也爲你而起。我有一個Loader類,它將庫路徑設置爲包含路徑,只是創建了一個getter來獲取路徑集,並將它組合起來以完成文件的絕對路徑。 – allenskd 2010-06-04 03:02:11

0

有一個名爲stream_resolve_include_path()的PHP函數。有了這個,你可以根據PHP-Include-Path打開文件