本文实例为大家分享了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 中则返回 truedie(\"上传文件类型非法!\".$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);?>
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
- PHP实现文件上传与下载实例与总结
- php使用ftp实现文件上传与下载功能
- php下连接ftp实现文件的上传、下载、删除文件实例代码
- PHP操作FTP类 (上传、下载、移动、创建等)
- php上传apk后自动提取apk包信息的使用(示例下载)
- PHP+FLASH实现上传文件进度条相关文件 下载
- php多文件上传下载示例分享
- php文件上传、下载和删除示例
- PHP实现文件上传下载实例
- PHP SFTP实现上传下载功能