PHP通過文件保存和更新信息的方法分析
本文實例講述了PHP通過文件保存和更新信息的方法。分享給大家供大家參考,具體如下:
引言
以前在編寫一個比賽的機試系統(tǒng)的時候,需要記錄和更新考試的截止時間,以前的做法是在數(shù)據(jù)庫中單獨建立一個數(shù)據(jù)表用于保存和更新截止時間。回過頭再去看,覺得沒有必要單獨建立一張表,只需要把時間保存到一個文件中,然后通過修改文件的內(nèi)容修改考試時間即可。
以前的方案
maybe, a little bit stupid….
現(xiàn)在的方案
基本思路:
$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("發(fā)生錯誤:"+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}'; } }
對于有些小系統(tǒng),只有一個管理員的可將用戶名和密碼直接寫入到登陸判斷頁面中,或者像這個例子一樣,使用一個md5加密后的字符串作為文件名的文件保存用戶名和密碼。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP目錄操作技巧匯總》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
Linux fgetcsv取得的數(shù)組元素為空字符串的解決方法
使用CSV導(dǎo)入數(shù)據(jù)的時候,我們通常用的是Windows系統(tǒng),使用GBK在Windows的Excel中編輯2011-11-11如何利用php array_multisort函數(shù) 對數(shù)據(jù)庫結(jié)果進行復(fù)雜排序
本篇文章是對用php array_multisort函數(shù)對數(shù)據(jù)庫結(jié)果進行復(fù)雜排序進行了詳細的分析介紹,需要的朋友參考下2013-06-06PHP代碼網(wǎng)站如何防范SQL注入漏洞攻擊建議分享
所有的網(wǎng)站管理員都會關(guān)心網(wǎng)站的安全問題。說到安全就不得不說到SQL注入攻擊(SQL Injection)2012-03-03PHP中檢索字符串的方法分析【strstr與substr_count方法】
這篇文章主要介紹了PHP中檢索字符串的方法,結(jié)合實例形式分析了strstr與substr_count函數(shù)的功能與具體使用技巧,需要的朋友可以參考下2017-02-02