php webuploader 大文件上传带进度条

1,先下载百度的webuploader js上传框架

链接:https://pan.baidu.com/s/1Kxct0rIkasuTWv_jIzZkRA

提取码:c9q7

index.html

复制代码
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <!--引入CSS-->
    <link rel="stylesheet" type="text/css" href="../../css/webuploader.css" />
    <!--引入JS-->
    <script type="text/javascript" src="./jquery.js"></script>
	<script type="text/javascript" src="../../dist/webuploader.js"></script>
    <script type="text/javascript">
    $(function() {
        //开始上传按钮
        var $btn = $('#ctlBtn');
        //文件信息显示区域
        var $list = $('#thelist');
        //当前状态
        var state = 'pending';
        //初始化Web Uploader
        var uploader = WebUploader.create({
            auto: true, //自动上传,false 则为手动上传
            // swf文件路径
            swf: '../../dist/Uploader.swf',
            // 文件接收服务端。
            //server: 'http://www.hangge.com/upload.php',
            server:'../../server/fileupload.php',
            // 选择文件的按钮。可选。
            // 内部根据当前运行是创建,可能是input元素,也可能是flash.
            pick: '#picker',
            //设置文佳上传的类型格式
           // accept: {  //不建议使用,使用时选择文件div失效
             //   title: 'file',
              //  extensions: 'xls,xlsx,word,doc,ppt,docx,rtf,ppt,txt,pptx,pdf',
              //  mimeTypes: '.xls,.xlsx,.word,.doc,.ppt,.docx,.rtf,.ppt,.txt,.pptx,.pdf'
           // }
        });

        // 当有文件被添加进队列的时候(选择文件后调用)
        uploader.on( 'fileQueued', function( file ) {
            $list.append( '<div id="' + file.id + '" class="item">' +
                    '<h4 class="info">' + file.name + '</h4>' +
                    '<p class="state">等待上传...</p>' +
                    '</div>' );
        });

        // 文件上传过程中创建进度条实时显示。
        uploader.on( 'uploadProgress', function( file, percentage ) {
            var $li = $( '#'+file.id );
            $li.find('p.state').text('上传中(' + parseInt(percentage * 100) + '%)');
        });

        // 文件上传成功后会调用
        uploader.on( 'uploadSuccess', function( file ) {
            $( '#'+file.id ).find('p.state').text('已上传');
            savefilemanager("/vod/uploadfilemanager/"+file.name,file.name);
        });

        // 文件上传失败后会调用
        uploader.on( 'uploadError', function( file ) {
            $( '#'+file.id ).find('p.state').text('上传出错');
        });

        // 文件上传完毕后会调用(不管成功还是失败)
        uploader.on( 'uploadComplete', function( file ) {
            $( '#'+file.id ).find('.progress').fadeOut();
        });

        // all事件(所有的事件触发都会响应到)
        uploader.on( 'all', function( type ) {
            if ( type === 'startUpload' ) {
                state = 'uploading';
            } else if ( type === 'stopUpload' ) {
                state = 'paused';
            } else if ( type === 'uploadFinished' ) {
                state = 'done';
            }

            if ( state === 'uploading' ) {
                $btn.text('暂停上传');
            } else {
                $btn.text('开始上传');
            }
        });

        // 开始上传按钮点击事件响应
        $btn.on( 'click', function() {
            if ( state === 'uploading' ) {
                uploader.stop();
            } else {
                uploader.upload();
            }
        });



    });
</script>
<style>
    #picker {
        display: inline-block;
    }
    #ctlBtn {
        position: relative;
        display: inline-block;
        cursor: pointer;
        background: #EFEFEF;
        padding: 10px 15px;
        color: #2E2E2E;
        text-align: center;
        border-radius: 3px;
        overflow: hidden;
    }
    #ctlBtn:hover {
        background: #DDDDDD;
    }
</style>
    <style>
      #picker {
        display: inline-block;
      }
      #ctlBtn {
        position: relative;
        display: inline-block;
        cursor: pointer;
        background: #EFEFEF;
        padding: 10px 15px;
        color: #2E2E2E;
        text-align: center;
        border-radius: 3px;
        overflow: hidden;
      }
      #ctlBtn:hover {
        background: #DDDDDD;
      }
    </style>
  </head>
  <body>
    <div id="uploader" class="wu-example">
        <div class="btns">
            <div id="picker">选择文件</div>
            <div id="ctlBtn" class="webuploader-upload">开始上传</div>
        </div>
        <!--用来存放文件信息-->
        <div id="thelist" class="uploader-list"></div>
    </div>
  </body>
</html>
相关推荐
Franklin12 分钟前
Python界面设计【QT-creator基础编程 - 01】如何让不同分辨率图像自动匹配graphicsView的窗口大小
开发语言·python·qt
郝学胜-神的一滴25 分钟前
深入理解QFlags:Qt中的位标志管理工具
开发语言·c++·qt·程序人生
柯南二号1 小时前
【Java后端】MyBatis-Plus 原理解析
java·开发语言·mybatis
dog2501 小时前
难以超越的 TCP AIMD
网络协议·tcp/ip·php
我是哈哈hh2 小时前
【Node.js】ECMAScript标准 以及 npm安装
开发语言·前端·javascript·node.js
檀越剑指大厂3 小时前
【Linux系列】如何在 Linux 服务器上快速获取公网
linux·服务器·php
Sammyyyyy3 小时前
2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?
开发语言·javascript·node.js
William一直在路上4 小时前
Python数据类型转换详解:从基础到实践
开发语言·python
看到我,请让我去学习4 小时前
Qt— 布局综合项目(Splitter,Stacked,Dock)
开发语言·qt
GUET_一路向前4 小时前
【C语言防御性编程】if条件常量在前,变量在后
c语言·开发语言·if-else·防御性编程