0

コピー中のファイルの進行状況を取得しようとしています

最初に、以下のコードを使用してファイルをコピーするリクエストを送信します。ファイルが作成されたら。私は応答 success=1 を送信し、コピー プロセスを開始し、getProgressも呼び出します

   $.ajax({
     url:'copyFile.php',
     type: 'post',
     dataType: 'json',
     data: {'data':someData}, 
     success: function(data) {
       if(data.success){
         progressIndex=setInterval(getProgress, 1000 );
       }
     },
     error:function(err){
      console.log(err);
     }
   });


    function getProgress(){
    $.ajax({
     url:'FileUploadProgress.php',
     type: 'post',
     dataType: 'json',
     data: {'progress':'1'}, 
     success: function(data) {
       if(!data.success){
        clearTimeout(progressIndex);
       }
     },
     error:function(err){
      console.log(err);
     }
   });
}

FileUploadProgress.php

class FileUploadProgress{
   private $filename;
   private $progress;

 public function setfileProgress($filename,$progress){
    $this->filename=$filename;
  $this->progress=$progress;
  }

function returnProgress(){
   if(empty($this->filename) || empty($this->progress)){
     echo json_encode(array('success'=>'0'));
   }else{
echo json_encode(array('success'=>1,'filename'=>$this->filename,'progress'=>$this- 
>progress));
}
}

}
  $fileuploadprogress=new FileUploadProgress;
  if($_POST['progress']){

      $fileuploadprogress->returnProgress();
 }

コピー中に進行状況を取得し、関数setfileProgressを呼び出して進行 状況を設定します。また、クライアント側で進行状況を要求しましたが、取得しているのは success=0 であり、$this->progress は空です コードに何か不足しています。私にお知らせください

4

1 に答える 1