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 nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
Aug 21 PHP
常见的PHP五种设计模式小结
Mar 23 PHP
PHP获取数组中某元素的位置及array_keys函数应用
Jan 29 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
php 生成签名及验证签名详解
Oct 26 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
PHP简单实现欧拉函数Euler功能示例
Nov 06 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 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
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
[05:00]TI9战队采访 - Royal Never Give Up
2019/08/20 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
python正则表达式的使用
2017/06/12 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Python列表切片常用操作实例解析
2019/12/16 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
销售会计岗位职责
2014/03/15 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
python flask框架快速入门
2021/05/14 Python
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python