2012-05-17 71 views
1

顯示進度條這是我的代碼:如何上傳圖片時,在PHP

$(function(){ 

var btnUpload=$('#browse'); 
var adinfoid=$('#adinfoid').val(); 
new AjaxUpload(btnUpload, { 
    action: '<?php echo base_url()?>index.php/post/upload_editmainimage/'+adinfoid, 
    name: 'uploadfile', 
    onSubmit: function(file, ext){ 

     $("#progressid").css("display","block"); 
     if (! (ext && /^(jpg|png|jpeg|gif|JPG|PNG|JPEG|GIF)$/.test(ext))){ 
      $("#mainphotoerror").html('Only JPG, PNG, GIF, files are allowed'); 
      $("#mainphotoerror").css('display','block'); 
      return false; 
     }   
    }, 
    onComplete: function(file, response){ //alert(response); 

     if(response){ 
       /*$(".main_image").html(''); 
       $(".main_image").html(response);*/ 
       $("#progressid").css("display","none"); 
       $("#image"+<?php echo $mainimage->intphotoid; ?>).css('display','block'); 
       $("#imagemainicon"+<?php echo $mainimage->intphotoid; ?>).css('display','block'); 

       $("#mainimageicon").attr("src",response); 
       $("#mainimageicon").attr("width",55); 
       $("#mainimageicon").attr("height",55); 
       $("#mainimageicon1").attr("src",response); 
     }else{ 
     alert("error"); 
     } 
    } 
}); 

});

<input type="button" id="browse" class="browse_media" value="Browse"> 
     <div id="progressid" class="displayNone"> 
      <img src="//s3.amazonaws.com/s3.racingjunk.com/102/images/procesing.gif" width="117" height="20" /> 
      Uploading..... 
     </div> 

當我點擊瀏覽按鈕時,我需要顯示進度條5分鐘。 5分鐘後,進度條會隱藏或不顯示。進度條隱藏後,圖像將顯示。

我該怎麼做?這可能嗎?

+0

你問2個不同的東西 - >「在這裏,我想顯示進度條上傳後上傳時WOU LD不顯示」 ......然後‘我要上傳後顯示在5分鐘內酒吧將在’(拼寫糾正我的)....你到底做.... ???? – ManseUK

+0

[Uploadify](http://www.uploadify.com/)可以AJAX上傳一個奇妙的溶液... – Lix

回答

0

你不能做到這一點使用的代碼已經共享。您會發現,您需要知道有多少數據已發送到服務器,以便您可以顯示實際進度。

人們如何做呢? 1.他們使用第三方插件如Java小程序或Flash上​​傳文件 2.他們使用動畫來顯示進度,同時該文件被髮送(而不是實際的進度)。 3.他們使用HTML 5

對於實時反饋多少文件已發送到你需要或者第三方插件(如果您是在舊的瀏覽器),或者HTML5 XMLHttpRequest對象服務器

請參閱html5 file upload上傳狀態/進度條。

1

你必須這樣做: -

<div id="popup1" class="popup_block"> 
    <?php echo $this->Html->image('ajax-loader2.gif'); ?> 
    <h4>Processing Please Wait...! </h4> 
</div> 

在腳本: - 使用jQuery

//Fade in Background 
      jQuery('body').append('<div id="fade"></div>'); //Add the fade layer to bottom of the body tag. 
      jQuery('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); //Fade in the fade layer 
      var popID = 'popup1'; 
      //var popWidth = 500; 
      //Fade in the Popup and add close button 
      jQuery('#' + popID).css({ 'width': '250' }); 

時間,你可以在你的jQuery的給予或這樣做: -

window.setInterval(function() { 
    // this will execute every 5 minutes => show the alert here 
}, 300000);