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 相关文章推荐
杏林同学录(二)
Oct 09 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
两种php实现图片上传的方法
Jan 22 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
基于php判断客户端类型
Oct 14 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
Bootstrap+PHP实现多图上传功能实例详解
Apr 08 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
php使用fputcsv实现大数据的导出操作详解
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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
cmd下运行php脚本
2008/11/25 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
PHP实现百度人脸识别
2019/05/06 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
jQuery操作css样式
2017/05/15 jQuery
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
Python装饰器的函数式编程详解
2015/02/27 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
管道维修工岗位职责
2013/12/27 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
技校毕业生自荐信
2014/06/03 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
Golang日志包的使用
2022/04/20 Golang
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers