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

yipeiwu_com7年前PHP代码库

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

引言

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

以前的方案

这里写图片描述

maybe, a little bit stupid….

现在的方案

基本思路:

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

用于保存时间的文件:

这里写图片描述

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

最后附上完整代码:

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目录操作技巧汇总》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结》

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

相关文章

PHP实现获取文件后缀名的几种常用方法

本文实例讲述了PHP实现获取文件后缀名的几种常用方法。分享给大家供大家参考。具体如下: 方法1: function get_file_type($filename){ $type...

Joomla下利用configuration.php存储简单数据

写入过程 复制代码 代码如下: // Get the path of the configuration file $fname = JPATH_CONFIGURATION.DS.'co...

JS中encodeURIComponent函数用php解码的代码

JS中encodeURIComponent函数给中文编码后,如何用php解码?? 前提:编码前的中文可能是gbk,gb2312,utf-8等。 复制代码 代码如下: urldecode(...

php初学者写及时补给skype用户充话费的小程序

其实加在一起有几十个,但因为需要操作的数据比较多,就在后面加了一段小程序来解决.可以处理昨天没有处理到的数据,具体如下:复制代码 代码如下:$handle = mysql_connect...

php实现查看邮件是否已被阅读的方法

当你在发送邮件时,你或许很想知道该邮件是否被对方已阅读。这里有段非常有趣的代码片段能够显示对方IP地址记录阅读的实际日期和时间。 复制代码 代码如下: <? error_repor...