练习一
要求:
设计一个文件管理器 需求
用户可以再前台上传文件
不能上传PHP文件
记录文件路径 文件的描述 上传时间
用户每次上传完成后,将已经上传的文件使用列表形式显示在浏览器
具体代码:
if(!empty($_FILES['upload'])){
upload();
}
//输入数据
function upload(){
if($_FILES['upload']['type']!="text/php"){
move_uploaded_file($_FILES['upload']['tmp_name'],$_FILES['upload']['name']);
savefile();
}
}
//存储数据
function savefile(){
$filelist=$_FILES['upload']['name']." ".$_POST['content']." ".date("Y-m-d H:i:s")."\n";
$fp=fopen("upload.txt","a+");
fwrite($fp,$filelist);
fclose($fp);
}
//输出数据
function outfile(){
$fp=fopen("upload.txt","r");
while(!feof($fp)){
$line[]=fgets($fp);
}
fclose($fp);
return $line;
}
$filess=outfile();
?>
文件路径 | 文件描述 | 上传时间 |
<?php foreach($filess as $key =>$val){
$str=explode(" ",$val);
if(!empty($str[0])){
?>
=$str[0] ?>=$str[1] ?>=$str[2] ?>txt文档里内容如下:
BD65D6B3-27DE-4885-9BEF-43D69876508D.png
运行及输入东西之后结果如下:
8D631FBB-A9E1-49D0-B213-985E9093E81E.png
练习二
要求:
菜单管理后台
可以在管理页面上传菜谱的照片,设定菜谱的菜名,及价格
记录到menu.txt中
具体代码如下:
if(!empty($_POST['submit'])){
$filelist=uploadmenu();
if($filelist){
savemenu();
}
}
// 上传处理
function uploadmenu(){
if($_FILES['upload']['type']=="image/jpg" || $_FILES['upload']['type']=="image/png" || $_FILES['upload']['type']=="image/gif" || $_FILES['upload']['type']=="image/jpeg"){
if(move_uploaded_file($_FILES['upload']['tmp_name'],$_FILES['upload']['name'])){
return $_FILES['upload']['name'];
}else{
return false;
}
}
}
// 储存处理
function savemenu(){
$fp=fopen("caidan.txt","a+");
$menuname=htmlspecialchars(trim($_POST['menuname']));
$price=htmlspecialchars(trim($_POST['price']));
$line=$_FILES['upload']['name']." ".$menuname." ".$price."\n";
fwrite($fp,$line);
fclose($fp);
}
// 展现处理
function outmenu(){
$fp=fopen("caidan.txt","r");
while(!feof($fp)){
$line[]=fgets($fp);
}
fclose($fp);
return $line;
}
$menucount=outmenu();
?>
txt文档里内容如下:
FCB9ADA2-D081-4FAF-81DA-D979F1670112.png
运行以及按要求输入运行结果:
E5D1EAD9-A1C1-48F7-A303-E716E3058D71.png