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 相关文章推荐
一个用php实现的获取URL信息的类
Jan 02 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
php下把数组保存为文件格式的实例应用
Feb 08 PHP
php自动加载的两种实现方法
Jun 21 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
php在线解压ZIP文件的方法
Dec 30 PHP
php+ajax注册实时验证功能
Jul 20 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 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使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
小议javascript 设计模式 推荐
2009/10/28 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
js document.write()使用介绍
2014/02/21 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
python中常用的九种预处理方法分享
2016/09/11 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
大学班长的职责
2014/01/27 职场文书
机械专业求职信
2014/05/25 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
介绍信范文大全
2015/05/07 职场文书
紧急迫降观后感
2015/06/15 职场文书
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
2022/12/24 MySQL