2011-01-27 77 views
1

我對PHP很有經驗,但我是PHP源碼和php擴展的新手。我想擴展php,以便從數組中隨機選擇一個upload_tmp_dir,而不是一個固定的目錄。我如何使php源代碼(c代碼)從php.ini中讀取數組?

它看起來不像php,ini文件閱讀代碼有任何天然的能力來解析ini文件中的數組。

是否有任何現有的代碼或擴展(無論是在樹中或外部),允許將ini定義的數組映射到全局數組val?

否則我想我會介紹像「num_upload_dirs」,然後「upload_tmp_dir_1」和「upload_tmp_dir_2」等ini vals,然後明確檢查所有的vals。

或者將行解析和全局數組創建例程自己寫入ini文件讀取器。兩者都非常吸引人。還有其他建議嗎?

回答

0

ini文件格式不支持數組。

您最好通過做uplaod_tmp_dir_1等服務。您使用數組語法沒有任何好處。

如果你仔細想想,它實際上是更少的字節數。 ;)

+0

感謝。我想你是正確的。不過,數組維護更自然,所以維護者不必自己創建索引。 – cjp 2011-01-28 00:17:08

+0

對於down-voter:我知道`parse_ini_file`將處理數組。我正在講低級別的c代碼,它缺乏php源代碼的語法糖。 – 2011-01-28 00:24:17

0

PHP默認支持ini文件中的數組。有沒有需要修補什麼

ini的

key[] = value1 
key[] = value2 

這個PHP

var_dump(parse_ini_file('my.ini')); 

回報

array(1) { 
    ["key"]=> 
    array(2) { 
    [0]=> 
    string(6) "value1" 
    [1]=> 
    string(6) "value2" 
    } 
}