最近我正在使用电报Bot API创建一个电报机器人。 我的计划是在页面中放置一个按钮,用于上传特定文件夹的文件,以及通过cUrlFile上传的电报; 到目前为止,我完成了上传工作,但我的目的是大文件。为此,我需要向用户显示某种进度条,向用户显示已上载的MB或KB数量。
我的上传功能看起来像这样:
function sendFile($token,$photosArray,$chatsArray){
$ch = curl_init('https://api.telegram.org/bot'.$token.'/sendDocument');
$cfile = new CURLFile(realpath($photosArray['path']),'image/jpg',$photosArray['name']);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION , false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
foreach($chatsArray as $chatId){
$data = array('chat_id' => $chatId, 'document' => $cfile);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$res=curl_exec($ch);
}
return $res;
}
现在它的作品,但我不知道如何从这个卷曲上传大小并显示给用户。当然我的意思是实时进度条。 在其他问题中,我发现了以下问题: cURL download progress in PHP
但这不是我的答案。
我正在寻找的是这样做:
1-单击按钮上传文件夹文件
2-一次上传一个文件并向用户显示实时进度条
3-上传完成后,开始上传下一个文件,并为其显示另一个进度条,依此类推。
是否需要通过AJAX或其他方式实现? 我在php中很新,所以如果有人能以一种简单的方式帮助我,我会全力以赴。