PHP通过文件保存和更新信息的方法分析


Posted in PHP onSeptember 12, 2019

本文实例讲述了PHP通过文件保存和更新信息的方法。分享给大家供大家参考,具体如下:

引言

以前在编写一个比赛的机试系统的时候,需要记录和更新考试的截止时间,以前的做法是在数据库中单独建立一个数据表用于保存和更新截止时间。回过头再去看,觉得没有必要单独建立一张表,只需要把时间保存到一个文件中,然后通过修改文件的内容修改考试时间即可。

以前的方案

PHP通过文件保存和更新信息的方法分析

maybe, a little bit stupid….

现在的方案

基本思路:

$time = addslashes($_POST['time']);
$file = md5("time");
$res = file_put_contents($file, $time);

用于保存时间的文件:

PHP通过文件保存和更新信息的方法分析

这种明明方式是出于安全考虑,方式被一些扫描器扫描到。

最后附上完整代码:

manage-time.html

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>时间管理页面</title>
  <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
  <style type="text/css">
  *{
    line-height: 30px;
  }
  </style>
</head>
<body>
<div>
<p>当前时间:<font id="info"></font></p>
<p><input id="time" type="text"/></p>
<p><button id="update">更新时间</button></p>
</div>
<script type="text/javascript">
  $(function(){
    //获取时间
    $("#info").load("time.php");
    //更新时间
    $("#update").click(function(){
      var time = $("#time").val();
      if(time==''){
        alert("时间不能为空");
      }else{
        $.ajax({
          url:'time.php',
          type:'POST',
          data:{'time':time},
          dataType:"json",
          success:function(data){
            if(data.success){
              $("#info").html(data.time);
            }else{
              $("#info").html("更新失败");
            }
          },
          error:function(res){
            alert("发生错误:"+res.status);
          }
          });
      }
    });
  })
</script>
</body>
</html>

time.php

<?php
date_default_timezone_set('Asia/Shanghai');
if(isset($_POST['time']) && $_POST['time']!=''){
  $time = addslashes($_POST['time']);
  update($time);
}else{
  display();
  //update('2011-11-11 11:11:00');
}
function display(){
  $file = md5("time");
  $time = file_get_contents($file);
  echo $time;
}
function update($time){
  if($time == ''){
    echo '{"success":false}';
    exit();
  }
  $file = md5("time");
  $res = file_put_contents($file, $time);
  if($res>0){
    echo '{"success":true,"time":"'.$time.'"}';
  }else{
    echo '{"success":false}';
  }
}

对于有些小系统,只有一个管理员的可将用户名和密码直接写入到登陆判断页面中,或者像这个例子一样,使用一个md5加密后的字符串作为文件名的文件保存用户名和密码。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 木马攻击防御技巧
Jun 13 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
PHP实现货币换算的方法
Nov 29 PHP
PHP生成RSS文件类实例
Dec 05 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 PHP
php使用GD2绘制几何图形示例
Feb 15 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
laravel 出现command not found问题的解决方案
Oct 23 PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 #PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 #PHP
PHP中有关长整数的一些操作教程
Sep 11 #PHP
PHP生成随机字符串实例代码(字母+数字)
Sep 11 #PHP
Yii框架参数配置文件params用法实例分析
Sep 11 #PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 #PHP
Laravel框架验证码类用法实例分析
Sep 11 #PHP
You might like
php Try Catch异常测试
2009/03/01 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
Javascript学习笔记1 数据类型
2010/01/11 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
用Python实现读写锁的示例代码
2018/11/05 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
测试时代收集的软件测试面试题
2013/09/25 面试题
儿科护士自我鉴定
2013/10/14 职场文书
网络工程师职业规划
2014/02/10 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
党风廉政建设责任书
2014/04/14 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
教研活动主持词
2015/07/03 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android
python ansible自动化运维工具执行流程
2021/06/24 Python
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技