-
PHP通过文件保存和更新信息的方法分析
本文实例讲述了PHP通过文件保存和更新信息的方法,分享给大家供大家参考,具体如下:
引言
以前在编写一个比赛的机试系统的时候,需要记录和更新考试的截止时间,以前的做法是在数据库中单独建立一个数据表用于保存和更新截止时间。回过头再去看,觉得没有必要单独建立一张表,只需要把时间保存到一个文件中,然后通过修改文件的内容修改考试时间即可。
以前的方案
maybe, a little bit stupid….
现在的方案
基本思路:
- $time = addslashes($_POST['time']);
- $file = md5("time");
- $res = file_put_contents($file, $time);
用于保存时间的文件:
这种明明方式是出于安全考虑,方式被一些扫描器扫描到。
最后附上完整代码:
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加密后的字符串作为文件名的文件保存用户名和密码。
出处:http://www.phpfensi.com/php/20211217/19109.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式