11
下面的函數採用「test-backup.ini」文件,解析它並通過update_option()方法將值輸入到數據庫中。當文件的值包含感嘆號和等號時,使用parse_ini_file()的語法錯誤
然而,當ini文件中的值包含像exlamation點的特殊字符,等號(=),(和其他人我猜),其在parse_ini_file扔PHP語法錯誤($文件)(!):
語法錯誤,意想不到的! 「」 等等......
例如,假設此內容爲測試backup.ini文件...
[settings]
line1 = asc
line2 = /*.blog ul li {margin-bottom:0 !important;}*/
line3 = true
line4 = <meta name="google-site-verification" content="" />
我在第二行獲得「!」的語法錯誤而對4號線「=」
我應該怎樣把它傳遞給parse_ini_file()來處理這些字符傳遞給update_option時,他們被保存之前過濾$文件()調用?
所有迄今我發現是這樣的:
字符{} | &〜![()」不能在關鍵任何地方使用,並有在值的特殊意義。
$file = WP_PLUGIN_DIR.'/test/test-backup.ini';
if (file_exists($file) && is_readable($file))
{
$ini_array = parse_ini_file($file); //errors when value contains =, !, etc
foreach ($ini_array as $key=>$value) {
update_option($key, $value);
}
echo 'The settings have been saved';
}
else
{
echo 'alternate response here';
}
?>
看起來工作以及單引號(撇號)。 – lolesque