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修改时间格式的代码
May 29 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
调试一段PHP程序时遇到的三个问题
Jan 17 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
Java和PHP在Web开发方面对比分析
Mar 01 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
Yii2分页的使用及其扩展方法详解
May 23 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
Oct 18 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
PHP删除数组中特定元素的两种方法
Feb 28 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 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
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
php给数组赋值的实例方法
2019/09/26 PHP
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
css配合jquery美化 select
2013/11/29 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python文件的读写和异常代码示例
2017/10/31 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
CSS3实现时间轴效果
2016/07/11 HTML / CSS
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
C++:memset ,memcpy和strcpy的根本区别
2013/04/27 面试题
2015新年联欢晚会开场白
2014/12/14 职场文书
电信营业员岗位职责
2015/04/14 职场文书
大学生读书笔记范文
2015/07/01 职场文书
德能勤绩工作总结
2015/08/11 职场文书