您好,欢迎来到源码搜藏!分享精神,快乐你我!提示:担心找不到本站?在百度搜索“源码搜藏”,网址永远不丢失!
  • 首 页
  • 在线工具
  • 当前位置:首页 > 网页特效 > 图片代码 >

    jquery php ajax多图片上传带上传进度,生成缩略图

    时间:2013-11-25 12:41 来源:互联网 作者:源码搜藏 浏览:收藏 挑错 推荐 打印
    效果预览 进入下载地址列表

    jquery php ajax多图片上传.上传进度,生成缩略图

    JavaScript Code
    <script type="text/javascript">  
    $(document).ready(function() {  
        $("#filelist").niceScroll({  
            cursorwidth: "8px",  
            cursorborderradius: "0px",  
            cursoropacitymin: 0.1,  
            cursoropacitymax: 0.3  
        });  
      
        $(".side-pane").niceScroll({  
            cursorwidth: "8px",  
            cursorborderradius: "0px",  
            cursoropacitymin: 0.1,  
            cursoropacitymax: 0.3  
        });  
      
        $(".time").timeago();  
    });  
    </script>  
     


    XML/HTML Code
    <script type="text/javascript">  
            // <![CDATA[ 
     
                $('#upload_button').click(function() { 
                    $('.side-pane').html(''); 
                    $('#upload_button').hide(); 
                    $('#pickfiles').hide(); 
                    $('#upload_info').show(); 
                    $('#upload_info').css("display","inherit"); 
                    uploader.start(); 
     
                    $('#filelist').block({ 
                        message: '<center><div class="start-message">Upload in Progress</div></center>', 
                        css: { 
                            border: 'none', 
                            backgroundColor: 'none' 
                        }, 
                        overlayCSS: { 
                            backgroundColor: '#fff', 
                            opacity: '0', 
                            cursor: 'wait' 
                        } 
                    }); 
                }); 
     
                var uploader = new plupload.Uploader({ 
                    runtimes : 'flash, html5', 
                    browse_button : 'pickfiles', 
                    container : 'uploader', 
                    max_file_size : '10mb', 
                    url : 'upload.php', 
                    flash_swf_url : 'uploader/uploader.swf', 
                    filters : [ 
                        { title : "Image files", extensions : "jpg,jpeg,gif,png" } 
                    ] 
                }); 
     
                uploader.bind('Init', function(up, params) {}); 
                uploader.init(); 
     
                uploader.bind('FilesAdded', function(up, files) { 
                    /* 
                        @@ Show / hide various elements 
                    */ 
                    $('.upload-message').hide(); 
                    $('.info-message').hide(); 
                    $('#upload_button').show(); 
                    $('#filelist_header').show(); 
     
                    $.each(files, function(i, file) { 
                        $('#filelist').append( 
                            '<div id="' + file.id + '" class="filecontainer">' + 
                            '<div class="filename"> '+file.name + '</div>'+ 
                            '<div class="filesize">' + plupload.formatSize(file.size) + '</div>'+ 
                            '<div class="filestatus" id="status_'+file.id+'">0%</div>'+ 
                            '<div class="filedel"><a id="remove_'+file.id+'" href="javascript:;"><img src="img/uploader/delete.gif" /></a></div>' + 
                            '</div>'); 
     
                        $('#remove_'+file.id).click(function(e) { 
                            uploader.removeFile(file) 
                            $('#'+file.id).hide('slow', function() { ('#'+file.id).remove(); }); 
                        }); 
                    }); 
     
                    up.refresh(); 
                    $('#filelist').animate({scrollTop: $('#filelist').attr("scrollHeight")}, 1500); 
                }); 
     
                uploader.bind('UploadProgress', function(up, file) { 
                    $('#status_' + file.id).html(file.percent + "%"); 
                        if(file.percent == 100) { 
                            $('#' + file.id).block({ 
                                message: '', 
                                css: { 
                                    border: 'none', 
                                    backgroundColor: 'none' 
                                }, 
                                overlayCSS: { 
                                    backgroundColor: '#fff', 
                                    opacity: '0.7', 
                                    cursor: 'wait' 
                                } 
                            }); 
                        } 
                    $('#percent').width(uploader.total.percent+"%"); 
                    $('#upRate').text(Math.ceil(uploader.total.bytesPerSec/1024)+" kb/sec"); 
                }); 
     
                uploader.bind('FileUploaded', function(up, file, response) { 
                    var input = $("#uploaded_photos"); 
                    var data = response.response; 
                    var details = data.split(','); 
                        if(details[0] == 'success') { 
                            var photo_html = '<div class="padding-10 hm-photo clearfix"><a href="../upload/source/'+details[4]+'" target="_blank"><img src="../upload/small/'+details[4]+'"></a><p class="small-text light-text">'+details[1]+'</p><abbr class="time small-text" title="'+details[2]+'"></abbr></div>'; 
                            input.val(input.val() + details[1] + ":"); 
                        } else { 
                            var photo_html = '<div class="clearfix">'+details[1]+'</div>'; 
                        } 
                    $('.side-pane').prepend(photo_html); 
                    $('.time').timeago(); 
                }); 
     
                uploader.bind('UploadComplete', function(up, files) { 
                    $('#upload_info').hide(); 
                    $('#filelist').unblock({ 
                        onUnblock: function () { 
                            $('#filelist_header').hide(); 
                            $('#filelist').html('<div style="margin-top: 180px; text-align: center;"><strong>ok</strong><br/>All photos have been uploaded.</div>'); 
                        } 
                    }); 
                }); 
     
            // ]]>  
            </script>  
    上面2个js都放在index.php里面


     


    XML/HTML Code
    <div id="uploader" class="main-pane">  
                <div id="filelist_header" class="clearfix">  
                    <div class="filename">Name</div>  
                    <div class="filesize">Size</div>  
                    <div class="filestatus">Status</div>  
                    <div class="filedel"></div>  
                    <div></div>  
                </div>  
      
                <div id="filelist"></div>  
      
                <div class="action-btns">  
                    <a id="pickfiles" class="login-button btn">Select files to upload</a>  
                    <a href="javascript:;" id="upload_button" class="login-button upload hide">Upload</a>  
                </div>  
      
                <center>  
                    <div id="upload_info">  
                        <div id="upload_info_inner">  
                            <div class="progressbg">  
                                <div id="percent" class="progress"></div>  
                            </div>  
                        </div>  
      
                        <div id="unknown">  
                            <div id="time2go"></div>  
                            <div id="upRate"></div>  
                        </div>  
                    </div>  
                </center>  
      
                <form method="POST" action="process.php" id="processupload">  
                    <input type="hidden" name="uploaded_photos" id="uploaded_photos" />  
                    <input type="hidden" name="fkey" value="<?php echo $fkey; ?>" />  
                </form>  
            </div>  
     upload.php


    PHP Code
    <?php  
    /* 
        @@ Including the functions.php for using the necessary functions. 
    */  
    include('functions.php');  
      
    /* 
        @@ This is the file upload class which does all the uploading work. 
    */  
    include('class.upload.php');  
      
    if(isset($_FILES["file"])) {  
        /* 
            @@ Generating unique name for the photo. 
        */  
        $time = time();  
        $rand_1 = rand(999, 999999);  
        $rand_2 = rand(999999, 999999999);  
        $rand_3 = rand();  
        $unique_value = $time.'_'.$rand_1.'_'.$rand_2.'_'.$rand_3;  
      
        /* 
            @@ Folder creation for each and every day. This ensures performance even with millions of images. 
        */  
        $folder = date('zY');  
            if(substr($folder, 0) == 0) {  
                $folder = '367'.date('Y');  
            }  
      
        /* 
            @@ This folder is for the source image files. 
        */  
        $pfolder = '../upload/source/';   
            if(!is_dir($pfolder)) {  
                mkdir($pfolder, 0755);  
            }  
      
        /* 
            @@ This folder is for the image files with 120x120 dimensions. 
        */  
        $tfolder = '../upload/small/';  
            if(!is_dir($tfolder)) {  
                mkdir($tfolder, 0755);  
            }  
      
        /* 
            @@ Assigning the upload file to the upload class for all the processing. 
        */  
        $handle = new Upload($_FILES["file"]);  
            if($handle->uploaded) {  
                $extension = $handle->file_src_name_ext;  
                $mime = $handle->file_src_mime;  
      
                    if(($mime == 'image/gif') || ($mime == 'image/jpg') || ($mime == 'image/png') || ($mime == 'image/bmp') || ($mime == 'image/pjpeg') | ($mime == 'image/jpeg')) {  
                        /* 
                            @@ Check if the uploaded filetype is an image or not. 
                        */  
                        if(($extension == 'gif') || ($extension == 'jpg') || ($extension == 'jpeg') || ($extension == 'png') || ($extension == 'bmp') || ($extension == 'pjpeg')) {  
                            if($handle->image_src_x > 500) {  
                                    /* 
                                        @@ Check if the filesize is smaller than 10 MB. 10 MB = 10485760 bytes. 
                                    */  
                                if($handle->file_src_size < 10485760) {  
                                    /* 
                                        @@ Getting the actual file name (with and without extension) and sanitizing it for inserting in the database. 
                                    */  
                                    $real_name = clean_input($handle->file_src_name);  
                                    $body_name = clean_input($handle->file_src_name_body);  
      
                                    $handle->file_new_name_body = $unique_value.'_'.$body_name;  
                                    $handle->Process($pfolder);  
      
                                    $handle->image_resize = true;  
                                    $handle->image_ratio_crop = 'T';  
                          

    jquery php ajax多图片上传带上传进度,生成缩略图由源码搜藏网整理,转载请注明出处http://www.codesocang.com/texiao/tupian/6486.html 源码搜藏承诺:本站所有资源无病毒,无弹窗,无干扰链接!
    标签:网站源码