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 采集程序 常用函数
Dec 18 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
通俗易懂的php防注入代码
Apr 07 PHP
php中在PDO中使用事务(Transaction)
May 14 PHP
php写的简易聊天室代码
Jun 04 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
Oct 27 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
Yii框架登录流程分析
Dec 03 PHP
php生成shtml类用法实例
Dec 09 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 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
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
jquery插件star-rating.js实现星级评分特效
2015/04/15 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
Summernote实现图片上传功能的简单方法
2016/07/11 Javascript
Javascript从数组中随机取出不同元素的两种方法
2016/09/22 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
2017/09/08 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
python处理按钮消息的实例详解
2017/07/11 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
Python中optparser库用法实例详解
2018/01/26 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
完美解决pycharm 不显示代码提示问题
2020/06/02 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
一名女生的自荐信
2013/12/08 职场文书
小学教研工作制度
2014/01/15 职场文书
淘宝中秋节活动方案
2014/01/31 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
运动会加油稿100字
2014/09/19 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
Redis全局ID生成器的实现
2022/06/05 Redis