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 工厂模式使用方法
May 18 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
Aug 19 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
详解php框架Yaf路由重写
Jun 20 PHP
ThinkPHP 5.x远程命令执行漏洞复现
Sep 23 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
PHP数组基本用法与知识点总结
Jun 02 PHP
PHP底层运行机制与工作原理详解
Jul 31 PHP
PHP的垃圾回收机制代码实例讲解
Feb 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
NO3第三帝国留言簿制作过程
2006/10/09 PHP
PHP面向对象法则
2012/02/23 PHP
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Django实现内容缓存实例方法
2020/06/30 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
渗透攻击的测试步骤
2014/06/07 面试题
vue路由实现登录拦截
2021/03/24 Vue.js
理工学院学生自我鉴定
2014/02/23 职场文书
工程技术员岗位职责
2014/03/02 职场文书
销售督导岗位职责
2015/04/10 职场文书
医院志愿者活动总结
2015/05/06 职场文书
生活委员竞选稿
2015/11/21 职场文书