11 1044 2021-01-15 10:56:53
收藏都知道PHP无非就是增删改查,学会了增删改查就入门了PHP,精准像素分享一篇PHP新手必学文件上传下载实例,快来学习吧。
主页index.php
<html> <head> <title>图片操作</title> <style> #contains { width: 500px; margin: 0 auto; text-align: center; color: #0F0; } th { background: #ccc; } td { width: 150px; height: 50px; text-align: center; } </style> </head> <body> <div id="contains"> <h2>图片上传和下载</h2> <!----------------文件上传表单-------------> <form action="doupload.php" method="post" enctype="multipart/form-data"> <input type="hidden" value="10000000" /> <!---避免上传后发现文件过大---> <input type="file" name="pic"/> <input type="submit" value="上传"/> </form> <!---------------------------------------> <table width="500" border="0"> <tr> <th>序号</th><th>图片</th><th>添加时间</th><th>操作</th> </tr> <?php //1.打开目录 $dir = opendir("./imgs"); //2.遍历目录 $i = 0; $color = "#ff0"; while ($f = readdir($dir)){ //$f代表这每个文件的名字 if ($f == '.' || $f == "..") continue; //处理特殊隐藏的文件 $i++; if ($i % 2 == 0) $color = "#ccc"; else $color = "#ffa"; echo "<tr bgcolor=$color>"; echo "<td>{$i}</td>"; echo "<td><img src='./imgs/{$f}' width='150' height='50'/></td>"; echo "<td>".date("Y-m-d", filectime('./imgs/'.$f))."</td>"; echo "<td><a href='./imgs/{$f}'>查看</a> <a href='download.php?name={$f}'>下载</a></td>"; echo "</tr>"; // echo $f." "; } ?> </table> </div> </body> </html>
上传处理doupload.php
<?php /* echo "<pre>"; var_dump($_FILES); echo "</pre>";*/ //1.获取上传文件信息 $upfile = $_FILES["pic"]; $path = "./imgs/"; //2、过滤错误信息 if ($upfile["error"] > 0) { die("上传文件错误"); } //3、本次上传文件的大小过滤 if ($upfile["size"] > 10000000) { die("上传文件超出限制"); } //4、处理文件类型 $typelist = array("jpeg","jpg","png","gif"); $arr = explode(".", basename($upfile['name'])); //以'.'分割字符串为数组 $bz = array_pop($arr); //获取文件的后缀名 if (!in_array($bz, $typelist)) { //如果给定的值 value 存在于数组 array 中则返回 true die("上传文件类型非法!".$upfile["type"]); } //5、设置相同文件的名字不同 $newfile = date("YmdHis").rand(100, 999).".".$bz; // if (is_uploaded_file($upfile["tmp_name"])) { //判断文件是否是通过post上传 //执行文件上传 if (move_uploaded_file($upfile["tmp_name"], $path.$newfile)) {//将上传的文件保存在新位置 echo "上传成功!"; echo "<a href='index.php'>浏览</a>"; }else { die("上传失败"); } } ?>
下载处理download.php
<?php //1.获取于要下载的文件名 $file = "./imgs/".$_GET["name"]; // echo $file; //2.重设响应类型 $info = getimagesize($file); //获取文件大小 // var_dump($info); header("Content-Type:".$info["mime"]); //3.执行下载文件名 header("Content-Disposition:attachment;filename=".$_GET["name"]); //4.指定文件大小 header("Content-Length:".filesize($file)); //5.响应内容 readfile($file); ?>
本文地址:https://xzo.com.cn/develop/php/534.html
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。
PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。
在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...
在日常文章的发表过程中,由于需要引入一些外部链接达到更好的效果与体验。但...
我们知道,str_replace是可以执行替换命令的,但一般是用于一对一替换,这个很好...
在php中自带了大量了数组排序函数,使用起来非常简单,下面我们一一来介绍一下...
数组在实际开发过程中运用非常频繁,通过合理运用数组,我们可以顺利实现各种数...
通俗的说,现在有结果A B C D E,每个结果代表不同的意义,此时我们可以用if else...
今天有朋友咨询鸥哥,说php写的for循环本来至少要循环9次,但却只执行了一次就...
很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...
帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...
采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...
本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...
一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...
本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...
帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...
因客户需要一键推送到多平台,下载鸥开发了这款一键推送至百度、必应、神马插...
用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...