例子---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,到这里,我们的代码部分就全部完成了,接下来准备好小心脏,欣赏美食吧,我可是发出温馨提醒了哟,哈哈哈~~~
这里写图片描述

好嘞,大功告成,吧唧吧唧,看着就好吃,下午吃饭的时候,要不要搓一顿啊?萍子要去找好友,约着下午去来一顿了,先走一步咯,拜拜~~~

原创粉丝点击