循环
foreach
$settings = array('upload_max_filesize', 'post_max_size', 'max_execution_time');
foreach ($settings as $setting) {
$value = ini_get($setting);
echo $setting . ': ' . $value . "\n";
}
ini文件读写
WritePrivateProfileString 写文件
WritePrivateProfileString(lpAppName,lpKeyName,lpString,lpFileName);
LPCTSTR lpAppName;
LPCTSTR lpKeyName;
LPCTSTR lpString;
LPCTSTR lpFileName;
例子:
LPTSTR lpPath = new char[MAX_PATH];
strcpy(lpPath, "D:\\aa.ini");
WritePrivateProfileString("LiMing", "Sex", "Man", lpPath);
delete [] lpPath;
INI文件如下:
[LiMing]
Sex=Man
Age=20
GetPrivateProfileString 读文件
GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);
lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器.
nSize : 存储变量
lpFileName : 是完整的INI文件名
例子:
GetPrivateProfileString("StudentInfo","Name","默认姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini");
执行后 strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名".
```php
class Settings{
var $_settings = array();
function get($var) {
$var = explode('.', $var);
$result = $this->_settings;
foreach ($var as $key) {
if (!isset($result[$key])) { return false; }
$result = $result[$key];
}
return $result;
}
}
$file = "Config/ShConfig.ini";
$settings = new Settings_INI;
$settings->load($file);
$FaxMode = $settings->get('Fax.FaxMode');