例子---PHP与Form表单终结篇
来源:互联网 发布:石家庄市软件测试招聘 编辑:程序博客网 时间:2024/06/08 01:15
现在我们来说一下使用input标签的file属性,上传文件到后台,并进行展示的小例子。
用到的知识点有:PHP后台处理、Form表单和table表格。
大体思路就是:在form表单上传文件信息,经过PHP数据处理,再在table表格上显示出来。
哈哈哈,我又来屠害广大人民群众的小心脏了,今天下午我们来实现一个简单的菜单,可以在前端管理页面上传菜谱照片,设定菜名及价格和日期哦,还有图片呢,惊不惊喜意不意外刺不刺激~
这里就要用到我们前导篇里提到的知识点了,不熟悉的小伙伴,可以先去看一眼。前导篇
上代码:
首先我们先来写一个form表单,以上传数据:
<form method="post" enctype="multipart/from-data"> <input type="file" name="picture"/><br/> 菜名:<input type="text" name="name"/><br/> 价格:<input type="text" name="submit" value="上传"/></form>
这样就写成了一个简单的上传的小页面:
接下来,我们来分析前台通过from表单上传到http请求头的数据,并存在一个menu.txt文件里:
<?php if(!empty($_POST['submit'])){ $pic = upload($_FILES['picture']); if($pic){ $name = htmlspecialchars(trim($_POST['name'])); $price = htmlspecialchars(trim($_POST['price'])); save($pic,$name,$price); } } //上传的函数 function upload($upfile){ //限制上传文件只许上传图片类型 if($upfile['type'] == "image/jpeg" || $upfile['type'] == "image/png" || $upfile['type'] == "image/gif"){ //如果符合上传条件[前导篇](http://blog.csdn.net/mytljp/article/details/78503790) //这里会把$_FILES()数组中的临时储存文件位置,改成参数2, if(move_uploaded_file($upfile['tmp_name'],$upfile['name'])){ return $upfile['name']; }else{ return false; } } } //写入menu.txt的函数 function save($pic1,$name1,$price1){ $time = date("Y-m-d H:i:s"); $line = $pic1." ".$name1." ".$price1." ".$time."\n"; $fp = fopen("menu.txt","a+"); fwrite($fp,$line); fclose($fp); }?>
这样,数据读取和存入文件,就已经完成了。
接下来,我们来完成最后一步,把文件里的数据,读取出来,并展示在前端页面上。
//在PHP中读取信息<?php function out(){ $fp1 = fopen("menu.txt","r"); $line = array(); while(!feof($fp1)){ $line[] = $fgets($fp1); } fclose($fp1); return $line; } //这个函数,返回了,包含文件内容的数组,并且是一条一条的读取出来的,格式是每项之间用空格隔开 $fileList = out();?>//接下来,我们在这里遍历数组,并展示<table border="1" cellspacing="1" cellpadding="5" style="width:800px;text_align:center;"> <tr> <td>图片</td> <td>菜名</td> <td>价格</td> <td>日期</td> </tr> <?php foreach($fileList as $key => $val){ $result = explode(" ",$val); if(!empty($result[0])){ ?> <tr> <td><img style="width:180px;height:200px;" src="<?=$result[0]?>"/></td> <td><?=result[1]?></td> <td><?=result[2]?></td> <td><?=$result[3]?> <?=$result[4]?></td>//因为date时间函数,默认空格分隔年月日和时分秒,所以会被分成两份 </tr> <?php } } ?></table>
OK,到这里,我们的代码部分就全部完成了,接下来准备好小心脏,欣赏美食吧,我可是发出温馨提醒了哟,哈哈哈~~~
好嘞,大功告成,吧唧吧唧,看着就好吃,下午吃饭的时候,要不要搓一顿啊?萍子要去找好友,约着下午去来一顿了,先走一步咯,拜拜~~~
阅读全文
0 0
- 例子---PHP与Form表单终结篇
- 例子---PHP与Form表单前导篇
- 例子---PHP与Form表单之一
- 例子---PHP与Form表单之二
- 例子---PHP与Form表单之三
- Form表单身份验证例子
- html table、form表单例子
- 【php】form表单中的onsubmit与return false
- PHP jQuery Ajax提交与验证form表单详解
- 【php】form表单中的onsubmit与return false
- 3.php Form表单,name与Id,cookie相关
- php form表单get传值
- Extjs form表单提交登陆例子
- form表单上传与下载
- form表单与ajax提交
- form表单与ajax问题
- form表单序列化与对象装填form表单
- php学习第一个form表单
- Linux下无root权限安装apache
- 2.7 最大公约数问题
- Spring MVC(一)
- Voice mail
- windows GoLang
- 例子---PHP与Form表单终结篇
- 打印1_100以内不是7的倍数或含有7的数
- IntelliJ IDEA中jsp路径无错误报红
- Shell正则表达式 & Grep正则表达式 & shell字符串处理
- SSM三大框架整合配置(1)-----SpringMVC
- iOS 状态栏更改颜色、适配等
- 对输入数据的异常处理
- PAT (Basic Level) Practise (中文)1044. 火星数字(20)
- java中“==”与equals -未完待续