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 相关文章推荐
通过ODBC连接的SQL SERVER实例
Oct 09 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
php中switch语句用法详解
Aug 17 PHP
WordPress中自定义后台管理界面配色方案的小技巧
Dec 29 PHP
详解php框架Yaf路由重写
Jun 20 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
Aug 07 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
PHP与Web页面交互操作实例分析
Jun 02 PHP
详解PHP Swoole与TCP三次握手
May 27 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
php实现两个数组相加的方法
2015/02/17 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
PHP常用的类封装小结【4个工具类】
2019/06/28 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
JS冒泡事件的快速解决方法
2013/12/16 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python中的yield使用方法
2014/02/11 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
C++面试题目
2013/06/25 面试题
Delphi软件工程师试题
2013/01/29 面试题
药学专业学生的自我评价分享
2014/02/06 职场文书
银行简历自我评价
2014/02/11 职场文书
庆国庆活动总结
2014/08/28 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android