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 相关文章推荐
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
Mar 10 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
PHP基于GD库的图像处理方法小结
Sep 27 PHP
PHP 断点续传实例详解
Nov 11 PHP
Laravel定时任务的每秒执行代码
Oct 22 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
COM in PHP (winows only)
2006/10/09 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
python实现指定字符串补全空格的方法
2015/04/30 Python
Python下载懒人图库JavaScript特效
2015/05/28 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
python序列类型种类详解
2020/02/26 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
世界上最大的艺术社区:SAA
2020/12/30 全球购物
家长评语和期望
2014/02/10 职场文书
协议书样本
2014/04/23 职场文书
公司捐款倡议书
2014/05/14 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书