Home > Article > Backend Development > How to implement automatic segmented download of files in PHP (code example)
The content of this article is about how to automatically download files in sections in PHP (code examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
function download($file_dir,$file_name) //参数说明: //file_dir:文件所在目录 //file_name:文件名 { $file_dir = chop($file_dir);//去掉路径中多余的空格 //得出要下载的文件的路径 if($file_dir != '') { $file_path = $file_dir; if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/') $file_path .= '/'; $file_path .= $file_name; } else $file_path = $file_name; //判断要下载的文件是否存在 if(!file_exists($file_path)) { echo '对不起,你要下载的文件不存在。'; return false; } $file_size = filesize($file_path); header("Content-type: application/octet-stream"); header("Accept-Ranges: bytes"); header("Accept-Length: $file_size"); header("Content-Disposition: attachment; filename=".$file_name); $fp = fopen($file_path,"r"); $buffer_size = 1024; $cur_pos = 0; while(!feof($fp)&&$file_size-$cur_pos>$buffer_size) { $buffer = fread($fp,$buffer_size); echo $buffer; $cur_pos += $buffer_size; } $buffer = fread($fp,$file_size-$cur_pos); echo $buffer; fclose($fp); return true; }
Related recommendations:
How to implement file downloading in php
How to implement proxy downloading in php
The above is the detailed content of How to implement automatic segmented download of files in PHP (code example). For more information, please follow other related articles on the PHP Chinese website!