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 相关文章推荐
默默简单的写了一个模板引擎
Jan 02 PHP
常用的php对象类型判断
Aug 27 PHP
PHP遍历二维数组的代码
Apr 22 PHP
7个超级实用的PHP代码片段
Jul 11 PHP
基于php split()函数的用法详解
Jun 05 PHP
php cookie名使用点号(句号)会被转换
Oct 23 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
Jul 31 PHP
实例讲解PHP表单验证功能
Feb 15 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源代码
2006/10/09 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
js中url对象化管理分析
2017/12/29 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
Python实现的栈(Stack)
2018/01/26 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
华为c/c++笔试题
2016/01/25 面试题
办公楼租房协议书范本
2014/11/25 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
Go语言应该什么情况使用指针
2021/07/25 Golang
关于Vue中的options选项
2022/03/22 Vue.js
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android