简单 php结合WebUploader实现文件上传功能

WebUploader 资源下载
http://fex.baidu.com/webuploader/download.html

WebUploader 使用方法
http://fex.baidu.com/webuploader/getting-started.html

php 上传代码

<?php
header('Content-type:text/html;charset=utf-8');
    if($_FILES['file']['error'] == 0){  // 判断上传是否正确
        $fileName = $_FILES['file']['name'];  // 获取文件名称
        $fileSize = $_FILES['file']['size'];  // 获取文件大小
        $tmp_name = $_FILES["file"]["tmp_name"]; // 获取上传文件默认临时地址
        $fileTypeInfo = ['doc','jpg','png','docx','xls','xlsx','log'];  // 定义允许上传文件类型【很多种只列举3种】
        $fileType = substr(strrchr($fileName,'.'),1); // 提取文件后缀名
        if(!in_array($fileType,$fileTypeInfo)){  // 判断该文件是否为允许上传的类型
            echo '上传失败,文件格式不正确';
            die();
        }
        if($fileSize /1024 > 10240){  // 规定文件上传大小【文件为Byte/1024 转为 kb】
            echo '上传失败,文件太大请上传小于1024Kb';
            die();
        }
        date_default_timezone_set('PRC'); // 定义时间戳
        if(!file_exists('D:/PHPsoftware/wamp64/www/stt/')){  // 判断是否存在存放上传文件的目录
                mkdir('D:/PHPsoftware/wamp64/www/stt/');  // 建立新的目录
        }else{
            $newFileName = $fileName;  // 命名新的文件名称
            if(move_uploaded_file($tmp_name,'D:/PHPsoftware/wamp64/www/stt/'.$newFileName)){  // 移动文件到指定目录
                echo ("‘../../PHPsoftware/wamp64/www/stt/cs’   上传成功");
            }
        }
    }else{
        echo "上传失败".$_FILES['file']['error'];  // 显示错误信息
    }

?>

html 页面代码

jquery下载地址(注意:使用webuploader 插件必须得jquery-1.11.1版本及以上才可以
http://code.jquery.com/jquery-1.11.1.min.js


<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <!--引入CSS-->
    <link rel="stylesheet" type="text/css" href="./assets/js/webuploader.css">
    <!--引入JS-->
    <script src="./assets/js/jquery-1.11.1.min.js"></script>
	<script src="./assets/js/webuploader.js"></script>
    <script type="text/javascript">
    $(function() {
        //开始上传按钮
        var $btn = $('#ctlBtn');
        //文件信息显示区域
        var $list = $('#thelist');
        //当前状态
        var state = 'pending';
        //初始化Web Uploader
        var uploader = WebUploader.create({
            // swf文件路径
            swf: './assets/js/Uploader.swf',
            // 文件接收服务端。
            server: 'upload.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>
    .webuploader-container {
      position: relative;
    }
    .webuploader-element-invisible {
      position: absolute !important;
      clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
      clip: rect(1px,1px,1px,1px);
    }
    .webuploader-pick {
      position: relative;
      display: inline-block;
      cursor: pointer;
      background: #00b7ee;
      padding: 10px 15px;
      color: #fff;
      text-align: center;
      border-radius: 3px;
      overflow: hidden;
    }
    .webuploader-pick-hover {
      background: #00a2d4;
    }

    .webuploader-pick-disable {
      opacity: 0.6;
      pointer-events:none;
    }
	#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;
    }
	#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>

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曉儂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值