ThinkPHP+ajax动态修改配置文件(示例一)

浏览:3299 发布日期:2015/03/11 分类:技术分享 关键字: 配置文件 ajax layer 弹窗
结合layer弹窗插件更美观人性化,layer 弹窗插件,简洁、易用、实用:
http://sentsin.com/jquery/layer

老鸟可以略过……

模板部分代码,至于怎么在 模板 中进行 jquery 前端验证,自己写吧 \^0^/<form class="form-horizontal" id="myform" action="{:U('site/updates')}" method="post">
    <div class="form-group">
        <label class="col-sm-2 control-label">网站名称:</label>
        <div class="col-sm-4">
            <input type="text" class="form-control" name="siteName" value="{$siteinfo.siteName}" placeholder="请输入网站名称" />
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <a class="btn btn-primary" id="ajaxform">提 交</a>
        </div>
    </div>
</form>

<!-- 引入 jquery 和 layer 插件 -->
<script src="./js/jquery.min.js"></script>
<script src="./js/layer/layer.min.js"></script>
<script>
// ajax 提交表单
$(document).ready(function(){
    $("#ajaxform").click(function(){    // 提交按钮触发事件
        var tourl = $("#myform").attr("action");    // 获取 表单的 提交地址
        // 序列化 表单数据 后提交 ,太简洁了
        $.post(tourl,$("form").serialize(),function(data){
            // data 是 ajaxreturn 返回的 数据
            // layer 插件的方法,只一句话,够简单
            layer.msg(data['info'], 2, 1);        // 2秒后自动关闭,-1代表不显示图标
            if(data['status'] == 1){
                // 处理成功后 刷新页面
                setTimeout("javascript:window.location.reload()",2100);
            }
        });
    });
});
</script>
控制器部分代码,同样,怎么进行自动验证,也请自己写吧 \^0^/class SiteController extends Controller{
    public function index(){
        $siteinfo_file = include(SITE_CONF_PATH.'siteinfo.config.php');
        $siteinfo_file = $siteinfo_file ? $siteinfo_file : array();
        $this -> assign('siteinfo', $siteinfo_file);
        $this->display();
    }

    public function updates(){
        $siteinfo_file = SITE_CONF_PATH.'siteinfo.config.php';
        if(file_exists($siteinfo_file)){
            if(IS_POST){
                // 写入文件,这里是关键
                // I() 方法获取提交的数据
                // var_export() 处理数组
                $result = file_put_contents($siteinfo_file, "<?php\nreturn " . var_export(I('post.'), true).';');
                if($result){
                    $this -> success('保存成功');
                }else{
                    $this -> error('保存失败');
                }
            }else{
                $this -> error('非法操作');
            }
        }else{
            $this -> error('配置文件不存在!');
        }
    }
}
公共配置文件,这样写 简洁一些<?php
    // 载入 数据库 配置
    $db_conf = include(SITE_CONF_PATH.'db.config.php');
    $db_conf = $db_conf ? $db_conf : array();

    // 载入 网站配置
    $site_conf = include(SITE_CONF_PATH.'siteinfo.config.php');
    $site_conf = $site_conf ? $site_conf : array();

    // 载入 URL 模式配置
    $url_conf = include(SITE_CONF_PATH.'url.config.php');
    $url_conf = $url_conf ? $url_conf : array();

    $configs= array(
        //....
    );

    return array_merge($configs, $db_conf, $site_conf, $url_conf);
还有更新缓存模块,自己写吧……

最佳答案
评论( 相关
后面还有条评论,点击查看>>