PHP修改配置文件中的变量值
这样子。我的配置文件config.php中有好多的变量。我想用后台一个.php页面打开后通过提交表单的方式修改里同的变量。不知道该怎么办。试了好多函数都不行。大家就按我下...
这样子。我的配置文件config.php中有好多的变量。我想用后台一个.php页面打开后通过提交表单的方式修改里同的变量。不知道该怎么办。试了好多函数都不行。大家就按我下面说的来给我提示提示。谢谢。呃,请不要复制过来的哈,知道的高手给个详细的过程,多谢了(百度,GOOGLE很多次了,没找到、、因为刚学PHP,请高手路过的时候能帮下忙)
展开
2013-04-17
展开全部
给你一个我刚刚写的代码,可能 帮上得你 const.php.mod 代码:<?php
//本页保存系统的静态量
date_default_timezone_set('Asia/Shanghai');//设置时间为上海时间
define(SystemName,"%SystemName%");//系统名称
define(SystemContent,"%SystemContent%");//网站描述
define(SystemKeys,"%SystemKeys%");//网站关键字
define(SystemDomain,"%SystemDomain%");//网站域名
define(SystemMail,"%SystemMail%");//电子邮箱
define(SystemComName,"%SystemComName%");//单位名称
define(SystemAddress,"%SystemAddress%");//单位地址
define(SystemPost,"%SystemPost%");//邮政编码
define(SystemContact,"%SystemContact%" );//联系人
define(SystemTel,"%SystemTel%");//联系电话
define(SystemQQ,"%SystemQQ%");//联系QQ号
define(SystemICP,"%SystemICP%");//ICP备案号
define(SystemMaker,"计算机科学与工程学院科技实践队");//制作者
define(SystemPagesize,"%SystemPagesize%");//每页显示条数
define(SystemYearstart,"%SystemYearstart%");//专业设置中年份开始时间
?>const.php 代码:空 操作代码(主要代码):if(strcmp($posted,"true")==0)
{//已经提交
$checked = true;
$Sname = trim($_POST['SystemName']);
$Scontent = trim($_POST['SystemContent']);
$Skeys = trim($_POST['SystemKeys']);
$SDomain = trim($_POST['SystemDomain']);
$SMail = trim($_POST['SystemMail']);
$SComName = trim($_POST['SystemComName']);
$SAddress = trim($_POST['SystemAddress']);
$SPost = trim($_POST['SystemPost']);
$SContact = trim($_POST['SystemContact']);
$STel = trim($_POST['SystemTel']);
$SQQ = trim($_POST['SystemQQ']);
$SICP = trim($_POST['SystemICP']);
$SPs = trim($_POST['SystemPagesize']);
$SYs = trim($_POST['SystemYearstart']);
if(empty($Sname) || empty($Scontent) || empty($Skeys) || empty($SDomain) || empty($SComName) || empty($SAddress) || empty($SPost) || empty($SICP))
$checked = false;
//else if(!empty($Smail) && !IsEmail($Smail))
//ErrorMsg("您输入的电子邮箱似乎不正确!");
else if(!IsHttp($SDomain))
ErrorMsg("您输入的网站域名不正确!应该是以 http:\\/\\/ 开始!");
if(!$checked)
ErrorMsg("请检查您的输入!");
else//写入文件
{
$tmfile = "../common/const.php.mod";//模板文本
$handle = fopen($tmfile,"r");//只读打开文件
if($handle)
{
$str = fread($handle,filesize($tmfile));
fclose($handle);
$str=str_replace("%SystemName%",$Sname,$str);
$str=str_replace("%SystemContent%",$Scontent,$str);
$str=str_replace("%SystemKeys%",$Skeys,$str);
$str=str_replace("%SystemDomain%",$SDomain,$str);
$str=str_replace("%SystemMail%",$SMail,$str);
$str=str_replace("%SystemComName%",$SComName,$str);
$str=str_replace("%SystemAddress%",$SAddress,$str);
$str=str_replace("%SystemPost%",$SPost,$str);
$str=str_replace("%SystemContact%",$SContact,$str);
$str=str_replace("%SystemTel%",$STel,$str);
$str=str_replace("%SystemQQ%",$SQQ,$str);
$str=str_replace("%SystemICP%",$SICP,$str);
$str=str_replace("%SystemPagesize%",$SPs,$str);
$str=str_replace("%SystemYearstart%",$SYs,$str);
//写入文件
$file = "../common/const.php";
if(file_put_contents($file,$str)==false)
ErrorMsg("打开文件失败,请检查文件".$file."是否存在,是否有读写权限!");
else
{
ShowMsg("恭喜您,修改成功!","systembase.php");
exit();
}
}
else
ErrorMsg("打开文件失败,请检查文件".$tmfile."是否存在,是否有读写权限!");
}}
//本页保存系统的静态量
date_default_timezone_set('Asia/Shanghai');//设置时间为上海时间
define(SystemName,"%SystemName%");//系统名称
define(SystemContent,"%SystemContent%");//网站描述
define(SystemKeys,"%SystemKeys%");//网站关键字
define(SystemDomain,"%SystemDomain%");//网站域名
define(SystemMail,"%SystemMail%");//电子邮箱
define(SystemComName,"%SystemComName%");//单位名称
define(SystemAddress,"%SystemAddress%");//单位地址
define(SystemPost,"%SystemPost%");//邮政编码
define(SystemContact,"%SystemContact%" );//联系人
define(SystemTel,"%SystemTel%");//联系电话
define(SystemQQ,"%SystemQQ%");//联系QQ号
define(SystemICP,"%SystemICP%");//ICP备案号
define(SystemMaker,"计算机科学与工程学院科技实践队");//制作者
define(SystemPagesize,"%SystemPagesize%");//每页显示条数
define(SystemYearstart,"%SystemYearstart%");//专业设置中年份开始时间
?>const.php 代码:空 操作代码(主要代码):if(strcmp($posted,"true")==0)
{//已经提交
$checked = true;
$Sname = trim($_POST['SystemName']);
$Scontent = trim($_POST['SystemContent']);
$Skeys = trim($_POST['SystemKeys']);
$SDomain = trim($_POST['SystemDomain']);
$SMail = trim($_POST['SystemMail']);
$SComName = trim($_POST['SystemComName']);
$SAddress = trim($_POST['SystemAddress']);
$SPost = trim($_POST['SystemPost']);
$SContact = trim($_POST['SystemContact']);
$STel = trim($_POST['SystemTel']);
$SQQ = trim($_POST['SystemQQ']);
$SICP = trim($_POST['SystemICP']);
$SPs = trim($_POST['SystemPagesize']);
$SYs = trim($_POST['SystemYearstart']);
if(empty($Sname) || empty($Scontent) || empty($Skeys) || empty($SDomain) || empty($SComName) || empty($SAddress) || empty($SPost) || empty($SICP))
$checked = false;
//else if(!empty($Smail) && !IsEmail($Smail))
//ErrorMsg("您输入的电子邮箱似乎不正确!");
else if(!IsHttp($SDomain))
ErrorMsg("您输入的网站域名不正确!应该是以 http:\\/\\/ 开始!");
if(!$checked)
ErrorMsg("请检查您的输入!");
else//写入文件
{
$tmfile = "../common/const.php.mod";//模板文本
$handle = fopen($tmfile,"r");//只读打开文件
if($handle)
{
$str = fread($handle,filesize($tmfile));
fclose($handle);
$str=str_replace("%SystemName%",$Sname,$str);
$str=str_replace("%SystemContent%",$Scontent,$str);
$str=str_replace("%SystemKeys%",$Skeys,$str);
$str=str_replace("%SystemDomain%",$SDomain,$str);
$str=str_replace("%SystemMail%",$SMail,$str);
$str=str_replace("%SystemComName%",$SComName,$str);
$str=str_replace("%SystemAddress%",$SAddress,$str);
$str=str_replace("%SystemPost%",$SPost,$str);
$str=str_replace("%SystemContact%",$SContact,$str);
$str=str_replace("%SystemTel%",$STel,$str);
$str=str_replace("%SystemQQ%",$SQQ,$str);
$str=str_replace("%SystemICP%",$SICP,$str);
$str=str_replace("%SystemPagesize%",$SPs,$str);
$str=str_replace("%SystemYearstart%",$SYs,$str);
//写入文件
$file = "../common/const.php";
if(file_put_contents($file,$str)==false)
ErrorMsg("打开文件失败,请检查文件".$file."是否存在,是否有读写权限!");
else
{
ShowMsg("恭喜您,修改成功!","systembase.php");
exit();
}
}
else
ErrorMsg("打开文件失败,请检查文件".$tmfile."是否存在,是否有读写权限!");
}}
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
2013-04-17
展开全部
修改config.php的方法的确不聪明.我的办法就是不使用config.php进行项目配置,而用采用config.ini进行配置. 表单form.html或者form.php
<form id="form1" name="form1" method="get" action="editconfig.php">
<input name="name" type="text" value="参数名"/>
<input name="value" type="text" value="数值"/>
<input name="submit" type="submit" />
</form>
处理程序editconfig.php:
<?php
$ini = parse_ini_file('config.ini');
if(isset($_GET['name']) && $_GET['value']){
$handle = fopen('config.ini','w');
if($handle){
foreach ($ini as $key => $line){
if($key == $_GET['name']){
fwrite($handle,$key.' = '.$_GET['value'].chr(13));
}else {
fwrite($handle,$key.' = '.$line.chr(13));
}
}
fclose($handle);
}
}
?>
配置文件config.ini:
a = 123
b = 456
c = 789 使用方法访问form.html或者form.php,填写要修改的数值,提交,修改成功. $ini = parse_ini_file('config.ini'),可以把config.ini中的设置直接读取到$ini数组中,你可以通过$ini数组来直接调用设置. 我的邮箱feeling84321@163.com,还有什么不明白的可以e我.
<form id="form1" name="form1" method="get" action="editconfig.php">
<input name="name" type="text" value="参数名"/>
<input name="value" type="text" value="数值"/>
<input name="submit" type="submit" />
</form>
处理程序editconfig.php:
<?php
$ini = parse_ini_file('config.ini');
if(isset($_GET['name']) && $_GET['value']){
$handle = fopen('config.ini','w');
if($handle){
foreach ($ini as $key => $line){
if($key == $_GET['name']){
fwrite($handle,$key.' = '.$_GET['value'].chr(13));
}else {
fwrite($handle,$key.' = '.$line.chr(13));
}
}
fclose($handle);
}
}
?>
配置文件config.ini:
a = 123
b = 456
c = 789 使用方法访问form.html或者form.php,填写要修改的数值,提交,修改成功. $ini = parse_ini_file('config.ini'),可以把config.ini中的设置直接读取到$ini数组中,你可以通过$ini数组来直接调用设置. 我的邮箱feeling84321@163.com,还有什么不明白的可以e我.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-04-11
展开全部
楼上乱来
通过web修改config.php似乎不是一个好点子哦
可能会引来安全方面的问题,而且你修改保存了以后也不会立即生效啊,还要等服务器重启
不过实现应该可以,给你提供个思路,用文件操作函数搞
不过具体涉及到config.php文件的内容和格式,其实还是相当繁重的工程
通过web修改config.php似乎不是一个好点子哦
可能会引来安全方面的问题,而且你修改保存了以后也不会立即生效啊,还要等服务器重启
不过实现应该可以,给你提供个思路,用文件操作函数搞
不过具体涉及到config.php文件的内容和格式,其实还是相当繁重的工程
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用PHP改脚本中的变量,实质上是对文件的操作
方法1:读出原文件,在线修改脚本,然后保存就行了;
方法2:建议用MYSQL数据库存放变量,修改更方便。
方法1:读出原文件,在线修改脚本,然后保存就行了;
方法2:建议用MYSQL数据库存放变量,修改更方便。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询