2013-05-30 2 views
0

Оба HTML и Java файлы сценариев на той же страницеPHP прогресс бар не работает

HTML код, соответствующий его является:

<body> 
    <div id="outer_pog"> 
     <div id="inner_pog"> 
     </div> 
    </div> 
    <form action="index.php" method="post" id="myform" enctype="multipart/form-data" target="hidden_frame"> 
     <input type="hidden" value="myform" name="<?php echo ini_get("session.upload_progress.name"); ?>" /> 
     <input type="file" name="userfile" /> <br/> 
     <input type="submit" value="start upload" /> 

    </form> 
    <iframe name="hidden_frame" style="display: none;"></iframe> 
    <span></span> 
</body> 

Javascript код:

$(function(){ 
     $('#myform').submit(function(e){  
      $.get('progress.php',function(dt){ 
      $('span').html(dt); 
      setTimeout(prog,1000); 
      }); 
     }) 
    }); 
    function prog(){ 
     $.get('progress.php',function(dt){ 
      $('span').html(dt); 
      if(dt<100) 
      { 
       setTimeout(prog,1000); 
      } 
      }); 
    } 

, когда я запустите это, я всегда получаю 100 взамен, когда я отлаживал его в netbean значение $ _SESSION [$ key] всегда является массивом [0].

PHP код progress.php т.е., ниже:

<?php 
session_start(); 
$key= ini_get("session.upload_progress.prefix")."myform"; 
if(!empty($_SESSION[$key])){ 
$cur=$_SESSION[$key]['bytes_processed']; 
$tot=$_SESSION[$key]['content_length']; 
echo $cur<$tot ? ceil($cur/$tot*100) : 100; 
} 
else 
echo 100; 
?> 
+0

Вы начали сеанс перед показом формы? –

+0

Нет, это должно начаться ?? – akhil

+0

, хотя я начал, нет большой разницы – akhil

ответ

0
$('#myform').submit(function(e){ 
e.preventDefault(); 
... 
0

Что такое значение ключа переменной $? Есть ли?
Если вы проверяете исходный код, есть ли имя для скрытого ввода?

Верхний комментарий в php.net утверждает, что:.. «Обратите внимание, эта функция не работает, когда ваш веб-сервер запущенный PHP через FastCGI Там не будет информация о ходе в сессии массива К сожалению, PHP получает только данные после завершения загрузки и не может показать никакого прогресса ».

Итак, проверьте настройки веб-серверов.

Но, я бы порекомендовал вам использовать плагин uploadify для jQuery.

Смежные вопросы