本文實(shí)例講述了PHP通過(guò)文件保存和更新信息的方法。分享給大家供大家參考,具體如下:
引言
以前在編寫(xiě)一個(gè)比賽的機(jī)試系統(tǒng)的時(shí)候,需要記錄和更新考試的截止時(shí)間,以前的做法是在數(shù)據(jù)庫(kù)中單獨(dú)建立一個(gè)數(shù)據(jù)表用于保存和更新截止時(shí)間。回過(guò)頭再去看,覺(jué)得沒(méi)有必要單獨(dú)建立一張表,只需要把時(shí)間保存到一個(gè)文件中,然后通過(guò)修改文件的內(nèi)容修改考試時(shí)間即可。
以前的方案
maybe, a little bit stupid….
現(xiàn)在的方案
基本思路:
$time = addslashes($_POST['time']);
$file = md5("time");
$res = file_put_contents($file, $time);
用于保存時(shí)間的文件:
這種明明方式是出于安全考慮,方式被一些掃描器掃描到。
最后附上完整代碼:
manage-time.html
!DOCTYPE html>
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
title>時(shí)間管理頁(yè)面/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>當(dāng)前時(shí)間:font id="info">/font>/p>
p>input id="time" type="text"/>/p>
p>button id="update">更新時(shí)間/button>/p>
/div>
script type="text/javascript">
$(function(){
//獲取時(shí)間
$("#info").load("time.php");
//更新時(shí)間
$("#update").click(function(){
var time = $("#time").val();
if(time==''){
alert("時(shí)間不能為空");
}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ā)生錯(cuò)誤:"+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}';
}
}
對(duì)于有些小系統(tǒng),只有一個(gè)管理員的可將用戶名和密碼直接寫(xiě)入到登陸判斷頁(yè)面中,或者像這個(gè)例子一樣,使用一個(gè)md5加密后的字符串作為文件名的文件保存用戶名和密碼。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP目錄操作技巧匯總》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- php實(shí)現(xiàn)編輯和保存文件的方法
- php獲取目錄所有文件并將結(jié)果保存到數(shù)組(實(shí)例)
- 如何利用php+mysql保存和輸出文件
- php帶密碼功能并下載遠(yuǎn)程文件保存本地指定目錄 修改加強(qiáng)版
- php自定文件保存session的方法
- PHP文件緩存內(nèi)容保存格式實(shí)例分析
- PHP保存帶BOM文件的方法
- php使用COPY函數(shù)更新配置文件的方法
- PHP運(yùn)行SVN命令顯示某用戶的文件更新記錄的代碼