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 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
Nov 01 PHP
.htaccess文件保护实例讲解
Feb 06 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
php将session放入memcached的设置方法
Feb 14 PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 PHP
php以post形式发送xml的方法
Nov 04 PHP
php中最简单的字符串匹配算法
Dec 16 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
Apr 19 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 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
mysql,mysqli,PDO的各自不同介绍
2012/09/19 PHP
PHP xpath()函数讲解
2019/02/11 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
js 自定义的联动下拉框
2010/02/07 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
JQuery之focus函数使用介绍
2013/08/20 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
Python实现把回车符\r\n转换成\n
2015/04/23 Python
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
python学生信息管理系统
2018/03/13 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Python Django搭建网站流程图解
2020/06/13 Python
个人充满哲理的自我评价
2014/02/20 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python
python 算法题——快乐数的多种解法
2021/05/27 Python
Python实现生活常识解答机器人
2021/06/28 Python
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技