为了账号安全,请及时绑定邮箱和手机立即绑定

php 实时获取已下载文件大小

php 实时获取已下载文件大小

PHP
慕勒3428872 2019-03-16 08:35:19
使用php 如何获取已下载文件的大小 想做个实时下载进度 我想把已下载的文件大小返回给前端
查看完整描述

4 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

函数 filesize() ?还是说配置请求头部 Content-Length ?

查看完整回答
反对 回复 2019-03-18
?
暮色呼如

TA贡献1853条经验 获得超9个赞

$dst_file = fopen(sys_get_temp_dir() . '/' . uniqid($time) . '.txt','w');     
     
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_TIMEOUT, 3600);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 20971520);
$flag=0;
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch ,$str) use (&$flag,$dst_file){
    $len = strlen($str);

    file_put_contents($dst_file,$str,FILE_APPEND);
    return $len;
});

$output = curl_exec($ch);
fclose($dst_file);
curl_close($ch);

curl下载文件可以用上面的方法。

查看完整回答
反对 回复 2019-03-18
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

……没懂,前端想拿下载进度的话可以用Ajax啊?

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 452 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信