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 unset全局变量运用问题的深入解析
Jun 17 PHP
php递归使用示例(php递归函数)
Feb 14 PHP
php实现的用户查询类实例
Jun 18 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
Mar 23 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
Jul 23 PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 PHP
浅谈PHP中关于foreach使用引用变量的坑
Nov 14 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
Apr 01 PHP
详解php语言最牛掰的Laravel框架
Nov 20 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 PHP
tp5.1 实现setInc字段自动加1
Oct 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
php结合curl实现多线程抓取
2015/07/09 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
JS跨域总结
2012/08/30 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
node作为中间服务层如何发送请求(发送请求的实现方法详解)
2018/01/02 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
JS实现多功能计算器
2020/10/28 Javascript
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
将Python代码打包为jar软件的简单方法
2015/08/04 Python
python设置值及NaN值处理方法
2018/07/03 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
postman传递当前时间戳实例详解
2019/09/14 Python
基于Python中isfile函数和isdir函数使用详解
2019/11/29 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
客服实习的个人自我鉴定
2013/10/20 职场文书
求职自荐信的格式
2014/04/07 职场文书
国庆宣传标语
2014/06/30 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
公司宣传语大全
2015/07/13 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
网络研修随笔感言
2015/11/18 职场文书
服务器nginx权限被拒绝解决案例
2022/09/23 Servers