php 文件上载 输出文件
程序员文章站
2024-01-31 15:27:28
...
php 文件下载 输出文件
我看网上有关 输出文件的
有用 readfile
有用
$fp = fopen($filepath, 'rb');
fpassthru($fp);
fclose($fp);
这都是一次性输出
但是 我还看到了一个 分段输出的 每次输出1024字节
$fp= fopen($this->path,"r");
$buffer_size = $this->buffer_size; //这个值是1024
$cur_pos = 0;
while(!feof($fp) && $file_size>$buffer_size+$cur_pos){
$buffer = fread($fp,$buffer_size);
echo $buffer;
$cur_pos += $buffer_size;
}
$buffer = fread($fp,$file_size-$cur_pos);
echo $buffer;
fclose($fp);
我想问 分段输出 和 一次性输出 有啥区别呀 (不考虑断点续传的情况下)
------解决方案--------------------
撇开其他因素,显然一次读取要比分段读取所用的内存要多
------解决方案--------------------
我看网上有关 输出文件的
有用 readfile
有用
$fp = fopen($filepath, 'rb');
fpassthru($fp);
fclose($fp);
这都是一次性输出
但是 我还看到了一个 分段输出的 每次输出1024字节
$fp= fopen($this->path,"r");
$buffer_size = $this->buffer_size; //这个值是1024
$cur_pos = 0;
while(!feof($fp) && $file_size>$buffer_size+$cur_pos){
$buffer = fread($fp,$buffer_size);
echo $buffer;
$cur_pos += $buffer_size;
}
$buffer = fread($fp,$file_size-$cur_pos);
echo $buffer;
fclose($fp);
我想问 分段输出 和 一次性输出 有啥区别呀 (不考虑断点续传的情况下)
------解决方案--------------------
撇开其他因素,显然一次读取要比分段读取所用的内存要多
------解决方案--------------------
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论