php多文件上传下载示例分享


Posted in PHP onFebruary 20, 2014
<html>
<head>
    <meta charset="utf-8">
    <title>index_uploads</title>
</head>
<body>
    <form action="uploads.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file[]">
        <br>
        <input type="file" name="file[]">
        <br>
        <input type="file" name="file[]">
        <br>
        <input type="file" name="file[]">
        <br>
        <input type="file" name="file[]">
        <br>
        <input type="submit" value="uploads">
    </form>
</body>
</html>

index_uploads.php

<?php
    echo "<pre>";
    print_r($_FILES);
    echo "</pre>";
    $count = count($_FILES['file']['name']);
    for ($i = 0; $i < $count; $i++) {
        $tmpfile = $_FILES['file']['tmp_name'][$i];
        $filefix = array_pop(explode(".", $_FILES['file']['name'][$i]));
        $dstfile = "uploads/files/".time()."_".mt_rand().".".$filefix;
        if (move_uploaded_file($tmpfile, $dstfile)) {
            echo "<script>alert('succeed!');window.location.href='listdir.php';</script>";
        } else {
            echo "<script>alert('fail!');window.location.href='index_uploads.php';</script>";
        }
    }

uploads.php

<?php
    header("content-type:text/html;charset=utf-8");
    $dirname = "uploads/files";
    function listdir($dirname) {
        $ds = opendir($dirname);
        while ($file = readdir($ds)) {
            $path = $dirname.'/'.$file;
            if ($file != '.' && $file != '..'){
                if (is_dir($path)) {
                    listdir($path);
                } else {
                    echo "<tr>";
                    echo "<td><img src='$path'></td>";
                    echo "<td><a href='download.php?imgfile=$file'>Download</a></td>";
                    echo "</tr>";
                }
            }
        }
    } 
    echo "<h2>图片下载|<a href='index_uploads.php'>图片上传</a></h2>";
    echo "<table width='700px' border='1px'>";
    listdir($dirname);
    echo "</table>";

listdir.php

<?php
    $imgfile = $_GET['imgfile'];
    $path = './uploads/files/'.$imgfile;
    $imgsize = filesize($path);
    header("content-type:application/octet-stream");
    header("content-disposition:attachment;filename={$imgfile}");
    header("content-length:{$imgsize}");
    readfile($path);
download.php

download.php

核心下载:

header("content-type:application/octet-stream");
header("content-disposition:attachment;filename={$imgfile}");
header("content-length:{$imgsize}");
readfile($path);
PHP 相关文章推荐
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
URL Rewrite的设置方法
Jan 02 PHP
php 全局变量范围分析
Aug 07 PHP
PHP--用万网的接口实现域名查询功能
Dec 13 PHP
php读取mysql的简单实例
Jan 15 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
destoon设置自定义搜索的方法
Jun 21 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
PHP制作百度词典查词采集器
Jan 29 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
Sep 23 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 PHP
php分页代码学习示例分享
Feb 20 #PHP
php多文件上传实现代码
Feb 20 #PHP
php图片缩放实现方法
Feb 20 #PHP
php跨域cookie共享使用方法
Feb 20 #PHP
PHP中redis的用法深入解析
Feb 20 #PHP
MongoDB在PHP中的常用操作小结
Feb 20 #PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 #PHP
You might like
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
基于JavaScript 类的使用详解
2013/05/07 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
实例解析Array和String方法
2016/12/14 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
Python二元算术运算常用方法解析
2020/09/15 Python
免税水晶:Duty Free Crystal
2019/05/13 全球购物
幼儿师范毕业生自荐信
2013/11/09 职场文书
社会实践感言
2014/01/25 职场文书
烹饪自我鉴定
2014/03/01 职场文书
2014年端午节活动方案
2014/03/11 职场文书
教学改革实施方案
2014/03/31 职场文书
听课评语大全
2014/04/30 职场文书
5s推行计划书
2014/05/06 职场文书
生态养殖创业计划书
2014/05/06 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
婚前协议书范本
2014/10/27 职场文书
大学毕业晚会开场白
2015/05/29 职场文书