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时间戳与日期的转换
Jun 06 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
php查看当前Session的ID实例
Mar 16 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
Feb 12 PHP
php-fpm中max_children的配置
Mar 15 PHP
浅谈php调用python文件
Mar 29 PHP
laravel-admin自动生成模块,及相关基础配置方法
Oct 08 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
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
在vue项目中引用Iview的方法
2018/09/14 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
Python新手们容易犯的几个错误总结
2017/04/01 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Python爬取某平台短视频的方法
2021/02/08 Python
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
继承公证书
2014/04/09 职场文书
房地产端午节活动方案
2014/08/24 职场文书
捐书倡议书
2014/08/29 职场文书
打架检讨书
2015/01/27 职场文书
安全员岗位职责
2015/02/10 职场文书
杨善洲电影观后感
2015/06/04 职场文书
《静夜思》教学反思
2016/02/17 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL