我想避免写入DB并使用常量/数组来处理lang文件等。
即:
$lang = array (
'hello' => 'hello world!'
);
并能够从后台编辑它。 (然后我不会从穷人的数据库中取出它,而是使用$ lang ['hello'] ..)。
你有什么建议以最佳和最有效的方式拉动它?
答案 0 :(得分:17)
我找到的最有效的方式是这样的:
以某种方式在php中构建你的数组并使用var_export()
file_put_contents( '/some/file/data.php', '<?php return '.var_export( $data_array, true ).";\n" );
然后,无论你需要什么,这个数据就像这样拉
$data = include '/some/file/data.php';
答案 1 :(得分:12)
绝对是JSON
要保存它:
file_put_contents("my_array.json", json_encode($array));
要取回它:
$array = json_decode(file_get_contents("my_array.json"));
就这么简单!
答案 2 :(得分:5)
如果您坚持将数据放入文件中,您可以考虑使用php函数serialize()
和unserialize()
,然后使用file_put_contents
将数据放入文件中。
示例:
<?php
$somearray = array( 'fruit' => array('pear', 'apple', 'sony') );
file_put_contents('somearray.dat', serialize( $somearray ) );
$loaded = unserialize( file_get_contents('somearray.dat') );
print_r($loaded);
?>
答案 3 :(得分:3)
您可以尝试json_encode()
和json_decode()
。
$save = json_encode($array);
将$ save的内容写入文件
加载lang使用:
$lang = file_get_contents('langfile');
$lang = json_decode($lang, true);