PHP+Uploadify 3.2使用实例php

/ / 2018-01-26   阅读:2488
演示效果: Html代码: <!doctype html> <html> <head>     <link rel = "stylesheet" type = "text/css" href = "./Plugins/uploadify.css">     <...
演示效果:


Html代码:
<!doctype html>

<html>
<head>
    <link rel = "stylesheet" type = "text/css" href = "./Plugins/uploadify.css">
    <link rel = "stylesheet" type = "text/css" href = "./base.css">
    <script src = "Plugins/jquery.js"></script>
    <script src = "Plugins/jquery.uploadify.min.js"></script>
</head>
<script type="text/javascript">
    var i=0;//初始化数组下标
    var uploadInfo = []; //存储名称
    $(function() {
        $('#file_upload').uploadify({
            'auto'     : false,//关闭自动上传
            'debug'       : true, //开启调试模式
            'width'       : 200, //上传按钮的宽
            'height'   : 60,//上传按钮的高 
            'fileObjName':'file_upload', //上传的表单名称  <input type = "file" name = "file_upload" />
            'removeTimeout' : 1,//文件队列上传完成1秒后删除
            'swf'      : 'Plugins/uploadify.swf', //   加载插件的flash文件 
            'uploader' : 'do.php', //上传的脚本
            'method'   : 'post',//方法,服务端可以用$_POST数组获取数据
            'buttonText' : '选择上传图片',//设置按钮文本
            'multi'    : true,//允许同时上传多张图片
            'uploadLimit' : 10,//一次最多只允许上传10张图片
            'fileTypeDesc' : 'Image Files',//只允许上传图像
            'fileTypeExts' : '*.gif; *.jpg; *.png',//允许上传的图片格式---注意前端判断过,后端必须要判断
            'fileSizeLimit' : '20000KB',//限制上传的图片不得超过200KB 
            'onUploadSuccess' : function(file, data, response)
            {//每次成功上传后执行的回调函数,从服务端返回数据
                   uploadInfo[i]=data;
                   i++;
                   alert(data);
            },
        });
    });
            //上传
        function doUpload(){
            $('#file_upload').uploadify('upload','*');
        }
</script>
<body>
    <div id = "header">
        <span class = "title">PHP+Uploadify3.2上传插件</span>
    </div>
    <div class = "mb10"></div>
    <div id = "content" style = "text-align:center">
        <div class = "mb10"></div>
        
            <input type="file" name="file_upload" id="file_upload" />
             
        <div class = "mb10"></div>
    </div>
    <div class = "upload">
        <button type = "button" onclick = "doUpload();">上传</button>
    </div>
    <div id = "footer"></div>
</body>
</html>

PHP上传脚本:do.php
<?php
            
        //上传表单的name
         $InputName = 'file_upload';
         //上传-路径
        $path = 'upload/';
         //允许上传大小单位是M
        $allSize = 2;
         //允许上传的后缀名
         $allPrefix = array('jpg', 'jpeg', 'png', 'gif', 'rar', 'zip', 'txt');
         //允许的Mime
         //用浏览器传输过来的 mime 不太安全。
        $allMime = array(
                'jpg' => 'image/jpeg',
                 'jpeg' => 'image/jpeg',
                 'png' => 'image/png',
                 'gif' => 'image/gif',
                 'zip' => 'application/octet-stream',
                 "rar" => "application/x-rar-compressed",
                 'txt' => 'text/plain',
                );
 // 并且上传没有错误的情况下
if(!empty($_FILES) && $_FILES[$InputName]['error'] == 0){
     // 上传的源文件名
    $fileName = iconv("UTF-8", 'GBK', strtolower($_FILES[$InputName]['name']));
     // 获取后缀
    $hz = strtolower(substr($fileName, strrpos($fileName, '.') + 1)); //后缀
     if(!in_array($hz, $allPrefix)){
         die('后缀名非法了');
         }
                 //我的版本是5.3.8不能使用mime_content_type();5.3废除了这个方法
                 //5.3以上版本可以使用pecl 里面的finfo_*系列的函数去判断
     if(!in_array($_FILES[$InputName]['type'], $allMime)){
    
         die('类型不符合');
         }
                print_r($_FILES[$InputName]['type']);
     // 服务器最大post大小,和允许上传的大小-单位M
    $serverPostSize = (int)ini_get('post_max_size');

        // 上传文件的大小单位M
    $fileSize = ceil(($_FILES[$InputName]['size']) / 1024 / 1024);
     if($serverPostSize <= $allSize || $fileSize > $allSize){
        
         die('大小超过限制');
         }
    
     // 判断是否是上传的文件
    if(!is_uploaded_file($_FILES[$InputName]['tmp_name'])){
         die('非法操作');
        }
     // 如果文件不存在
    if(!is_dir($path)){
         mkdir($path, 0777);
         }
                
     // 组合上传后的文件名
    $newFileName = $path . date('YmdHis', time()) . '_' . $fileName;
     // 开始上传
    if(move_uploaded_file($_FILES[$InputName]['tmp_name'], $newFileName)){
                    //上传以后的文件
                  echo '上传成功';
      
                 }else{
        
         echo '上传失败';
         }
    }else{
     die('上传出错');
     }

?>

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈