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 相关文章推荐
用Zend Encode编写开发PHP程序
Oct 09 PHP
用PHP写的MySQL数据库用户认证系统代码
Mar 22 PHP
php时间不正确的解决方法
Apr 09 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
ThinkPHP模板IF标签用法详解
Jul 01 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
PHP aes (ecb)解密后乱码问题
Jun 22 PHP
浅析php设计模式之数据对象映射模式
Mar 03 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
php压缩文件夹最新版
Jul 18 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 htmlspecialchars加强版
2010/02/16 PHP
微信支付开发维权通知实例
2016/07/12 PHP
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
基于jquery的cookie的用法
2011/01/10 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
详解Django中的form库的使用
2015/07/18 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
用Python进行websocket接口测试
2020/10/16 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
社区重阳节活动总结
2015/03/24 职场文书