php - curlFile上传实时进度条

时间:2016-04-21 08:55:44

标签: php ajax curl file-upload upload

最近我正在使用电报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中很新,所以如果有人能以一种简单的方式帮助我,我会全力以赴。

0 个答案:

没有答案