30分求PHP设置自定义配置文件(类似webconfig.php)的方法

以先用asp在后台做网站配置时可以通过fso读取配置文件然后用replace进行替换,如果是PHP怎么实现类似方法,网上搜到的方法不会用,能不能写一份简单的代码给我?<?... 以先用asp在后台做网站配置时可以通过fso读取配置文件 然后用replace进行替换,如果是PHP怎么实现类似方法,网上搜到的方法不会用,能不能写一份简单的代码给我?
<?php
define("cl_close",0);
define("cl_weburl","http://127.0.0.1");
define("cl_beian","粤ICP");
define("cl_keyword","这是关键词");
define("cl_description","这是描述");
define("cl_copyright","版权所有");
define("cl_phone","0000");
define("cl_email","aaaa@aaa.com");
?>
展开
 我来答
jACKy劉
2013-08-29 · TA获得超过325个赞
知道小有建树答主
回答量:240
采纳率:100%
帮助的人:245万
展开全部

1. 将这些变量统一到一个文件中, 譬如 config.php.inc, 内容如下:

<?php
$cl_close=0;
$cl_weburl="
$cl_beian="粤ICP";
$cl_keyword="这是关键词";
...
?>


然后, 假设主程序为 index.php:

<?php
require_once("./config.php.inc");
// config.php.inc 文件中的变量值就可以直接使用了, 譬如
echo $cl_beian
echo "<span>$cl_beian</span>";
...
?>

 修改这些变量并保存之:

<?php

// .... 假设这些变量都已经更改过了, 譬如通过 post 更改设置, 这里已经拿到:

$cfg = "<?";

$cfg.=<<<EOF

php

\$cl_close=$cl_close;

\$cl_weburl="$cl_weburl";

?

EOF;

$cfg.=">";

file_put_contents("config.php.inc", $cfg);

?>

追问
读取的我会 ,主要是修改,我想实现程序在后台修改这些常量。
追答
<?php
// .... 假设这些变量都已经更改过了, 譬如通过 post 更改设置, 这里已经拿到:
$cfg = "<?";
$cfg.=<<<EOF
php
\$cl_close=$cl_close;
\$cl_weburl="$cl_weburl";
?
EOF;
$cfg.=">";
file_put_contents("config.php.inc", $cfg);
?>

大概这个样子, 就是用php 输出一份php文件~ php 的 include /require 很好用的.

 

其他建议方法, 采用json_encode/json_decode 来加载/保存配置为 Json格式, 譬如

  1. 声明一个配置类:

class Config {
    var $cl_close=0;
    var $cl_weburl=".....";
   /...
}

2. 读取配置:

 if (file_exists("config.data")) {
     $config = json_decode(file_get_contents("config.data");
}else{
    $config = new Config();
    $config->cl_close=...//初始化
}
echo $config->cl_close; //访问 
$config->cl_close=1; //修改

 

3. 写入配置:

 
$config=.... //假设已经读到
file_put_contents(json_encode($config));
lucifer_dx
2013-08-29 · TA获得超过2339个赞
知道大有可为答主
回答量:2106
采纳率:50%
帮助的人:1655万
展开全部
修改PHP配置文件可以通过全局变量。至于你说的自定义配置,通过读写文件就能实现。最省事的方法就是include方式,直接把包含内容源代码的部分包含进来就行了。或者自己定义读写方法,读写配置文件即可。
实现方法很多,根据情况自己实现就行了。
像企业站这种,直接把版权声明部分代码写成一个文件,然后include进去即可;如果想动态调用,直接写成PHP数组形式,在include后可以直接访问。
追问
给个最简单的代码哦
追答
就把你写的那个php文件include进去,就能直接调用你的自定义常量了。想改的话直接改代码就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jimrontse
2013-08-29 · 超过24用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:57.7万
展开全部
准备把这些信息写在配置文件里
类似webconfig.php里,不过不懂怎么通过程序修改这些配置信息。换句话说要的就是PHP读取PHP文件里的信息并做修改保存。

按你所说,我的方法:

保存Txt:一行记录一个事情

如:
name
gender
age

你说把网站名,版权信息如备案信息放到数据库,那我还真少见
追问
类似这个配置文件 怎么修改里面的数值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sky3hao
2013-08-29 · 超过13用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:29.6万
展开全部
没看明白你要实现什么功能. 不要拿ASP说事, PHP跟ASP相差甚远
更多追问追答
追问
类似网站的网站名,版权信息如备案信息,一般也可以写在数据库但提取速度慢,准备把这些信息写在配置文件里类似webconfig.php里,不过不懂怎么通过程序修改这些配置信息。换句话说要的就是PHP读取PHP文件里的信息并做修改保存。
追答
对于永久性修改, 就是修改文件, 可以用fopen(), fgets(), fwrite()等函数操作这个文件, 也可以使用curl类.

但是这种永久性修改的需求很少见, 往往都是动态修改, 动态修改就是先读取配置,再赋值. 这个动作是在头文件或者初始化文件里操作的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式