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

yipeiwu_com6年前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中的trait

前言 之前的一个同事换工作,在面试被问到了 PHP 的 trait 。因为没用过, 所以没答好,我大概是用过几次的,想了想整理了以下的总结。 trait trait 是在一些类(Cla...

PHP和Java 集成开发详解分析 强强联合第1/4页

时间一天天过去,这两个亮点也变得越来越亮,很快,它们受到了编程者的喜欢,于是有人有疑问了:要是它们两者相遇,会发生什么事情?有没有可能将它们的强项结合在一起呢? 尝试在PHP和Java之...

解析PHP获取当前网址及域名的实现代码

复制代码 代码如下:<?//获取当前的域名:echo $_SERVER['SERVER_NAME'];//获取来源网址,即点击来到本页的上页网址echo $_SERVER["HTT...

php处理带有中文URL的方法

本文实例讲述了php处理带有中文URL的方法。分享给大家供大家参考,具体如下: ie6超链接有中文的时候会有问题,万恶的ie6啊.PHP使内置的urlencode函数也不行,urlenc...

php实现异步数据调用的方法

浏览器和服务器之间只有一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求返回相应的程序,不能保持持久连接。这样就出现了一个问题,一个客户端的...