微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP+Uploadify 3.2使用实例

演示效果

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('上传出错');

     }

?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐