无法获取文件复制进度


Not able to get file copying progress

>正在尝试获取正在复制的文件的进度

最初,我使用以下代码发送复制文件的请求。 创建文件后。 我发送响应 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);
     }
   });
}

文件上传进度.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以设置进度。同样在客户端,我已经请求进度,但是wat am 得到的是成功= 0,$this->进度为空 我的代码中是否缺少任何内容。请让我知道

您必须让路来查询某些数据源才能获取进度状态。例如在某些数据库表或文件中转储进度状态等。

然而,PHP有一些黑客,在某些环境中工作。
检查以下文档:会话上传进度。