>正在尝试获取正在复制的文件的进度
最初,我使用以下代码发送复制文件的请求。 创建文件后。 我发送响应 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有一些黑客,在某些环境中工作。
检查以下文档:会话上传进度。