想要读取 文件 内容 如下:$config['site_title']['chinese'] = '标题';
$config['site_keywords']['chinese'] = '关键字';
$config['site_description']['chinese'] = '呵呵呵呵';
的文件要怎么读取呢??
$config['site_keywords']['chinese'] = '关键字';
$config['site_description']['chinese'] = '呵呵呵呵';
的文件要怎么读取呢??
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>
用的时候也就是:
$config['site_title']['chinese'],直接就用了
2楼跑到前面去了。
CSDN的东西也。
不是啊! 都是已键值的方式 存储的! 类似于这样
//中文
$config['site_title']['chinese'] = '富风个的风格';
$config['site_keywords']['chinese'] = '的风格的风格的发';
$config['site_description']['chinese'] = '的风格的风格';
//英文
$config['site_title']['english'] = '的覆盖到发';
$config['site_keywords']['english'] = '的非官方y';
$config['site_description']['english'] = 'Pro的非官方个 我要读取它原有的值 然后显示在前台页面,然后可以在前台页面去修改这个文件中的任意一个 键的值 !
否则用 eval('<?php'. file_get_contents('文件名') . '?>'); 载入载入后可以 print_r($config); 查看
你这个是多语言配置文件吧?
include('config.php');
beforeReadConfig();//实现插件机制。实际上的设计要复杂一些。function beforeReadConfig()
{
if($_POST['language'])//用户修改了显示的语言
{
$GLOBALS['g_lang'] = $_POST['language'];
}
else $GLOBALS['g_lang'] = 'chinese';
}echo $config['site_title'][$g_lang];
例如a.txt中有如下:
username zhangsan
gender f
那么对出的为:
Array{
[username] => zhangsan,
[gender] => gender
}
调用就行了
session_start();
include('config.php');
beforeReadConfig();//实现插件机制。实际上的设计要复杂一些。function beforeReadConfig()
{
if($_POST['language'])//用户修改了显示的语言
{
$_SESSION['g_lang'] = $_POST['language'];
}
else $_SESSION['g_lang'] = $_SESSION['g_lang'] ? $_SESSION['g_lang'] : 'chinese';
}echo $config['site_title'][$_SESSION['g_lang']];
' 我要读取它原有的值 然后显示在前台页面,然后可以在前台页面去修改这个文件中的任意一个 键的值 !'
这个需求.貌似LZ描述的还不清晰,修改值,要存回文件中去吗?一般是不能这么设计的,只能认为LZ的真正需求是用户前台切换语言.
* 修改php文件,传入key和修改的val
* doky
* @param string $key
* @param string $values
*/
function update($key,$values){
$str='$config[\''.$key.'\'] = \''; //$config['key']='
$data = $str.$this->config->item($key); //$config['key']='value
$repl = $str.$values; //$config['key']='value2
$filename = str_replace('controllers\pm','config\testing.php',dirname(__FILE__));
$file_content = file_get_contents($filename);
$somecontent = str_replace($data,$repl,$file_content);
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'w')) {
echo "不能打开文件";
exit;
}
// 将$somecontent写入到我们打开的文件中。
if (fwrite($handle, $somecontent) === FALSE) {
echo "不能写入到文件";
exit;
}
echo "成功";
fclose($handle);
} else {
echo "文件不可写>";
}
$config['site_keywords']['chinese'] = '关键字';
$config['site_description']['chinese'] = '呵呵呵呵';如果这个是语言配置,那你的配置就应该是:$config['chinese']['site_title'] = '标题';
$config['chinese']['site_keywords']= '关键字';
$config['chinese']['site_description']= '呵呵呵呵';直接包含就可以用了。至于修改值,并保存,自己写个函数吧。
下面的是PHPWIND里保存数组的函数:
function vvar_export($array,$c=1,$t='',$var=''){
$c && $var="array(\r\n";
$t.=" ";
if(is_array($array)){
foreach($array as $key => $value){
$var.="$t\"".addslashes($key)."\"=>";
if(is_array($value)){
$var.="array(\r\n";
$var=vvar_export($value,0,$t,$var);
$var.="$t),\r\n";
} else{
$value=addslashes($value);
$value=str_replace("\'","'",$value);
$var.="\"".($value)."\",\r\n";
}
}
}
if($c){
$var.=")";
}
return $var;
}//用法:
$arr=array(**************);
$cachedb="<?php\r\n";
$cachedb.='$arr='.vvar_export($arr).";\r\n";
$cachedb.="?>";echo $cachedb;