练习一
要求:
- 设计一个文件管理器 需求
- 用户可以再前台上传文件
- 不能上传PHP文件
- 记录文件路径 文件的描述 上传时间
- 用户每次上传完成后,将已经上传的文件使用列表形式显示在浏览器
具体代码:
<?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();
?>
<!--设置界面-->
<!--上传区-->
<div id="uploadDiv">
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="upload" value=""/>
<input type="" name="content" value=""/>
<input type="submit" name="submit" value="上传"/>
</form>
</div>
<!--文件列表显示区-->
<div id="listFile">
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td>文件路径</td>
<td>文件描述</td>
<td>上传时间</td>
</tr>
<?php foreach($filess as $key =>$val){
$str=explode(" ",$val);
if(!empty($str[0])){
?>
<tr><td><?=$str[0] ?></td><td><?=$str[1] ?></td><td><?=$str[2] ?></td></tr>
<?php }}?>
</table>
</div>
txt文档里内容如下:
运行及输入东西之后结果如下:
练习二
要求:
- 菜单管理后台
- 可以在管理页面上传菜谱的照片,设定菜谱的菜名,及价格
- 记录到menu.txt中
具体代码如下:
<?php
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();
?>
<!--界面-->
<!--输入菜单框-->
<div id="uploadmenu">
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="upload" value="" />
<input type="" name="menuname" value="" />
<input type="" name="price" value="" />
<input type="submit" name="submit" value="提交菜单"/>
</form>
</div>
<!--输出菜单框-->
<div id="listmenu">
<table border="1" cellspacing="0" cellpadding="0">
<tr><td>图片</td><td>菜名</td><td>价格</td></tr>
<?php foreach($menucount as $key =>$val){
$str=explode(" ",$val);
if(!empty($str[0])){
?>
<tr><td><img style="width:100px;" src="<?=$str[0] ?>"></td><td><?=$str[1] ?></td><td><?=$str[2] ?></td></tr>
<?php }}?>
</table>
</div>
txt文档里内容如下: