评论

收藏

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

开发技术 开发技术 发布于:2021-11-09 17:36 | 阅读数:430 | 评论:0

这篇文章主要介绍了PHP通过文件保存和更新信息的方法,结合实例形式分析了php基于文件的信息保存相关操作技巧,需要的朋友可以参考下
本文实例讲述了php通过文件保存和更新信息的方法。分享给大家供大家参考,具体如下:
引言
以前在编写一个比赛的机试系统的时候,需要记录和更新考试的截止时间,以前的做法是在数据库中单独建立一个数据表用于保存和更新截止时间。回过头再去看,觉得没有必要单独建立一张表,只需要把时间保存到一个文件中,然后通过修改文件的内容修改考试时间即可。
以前的方案
DSC0000.png

maybe, a little bit stupid….
现在的方案
基本思路:
$time = addslashes($_post['time']);
$file = md5("time");
$res = file_put_contents($file, $time);
用于保存时间的文件:
DSC0001.jpg

这种明明方式是出于安全考虑,方式被一些扫描器扫描到。
最后附上完整代码:
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程序设计有所帮助。
原文链接:https://blog.csdn.net/koastal/article/details/50689091

关注下面的标签,发现更多相似文章