ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
~~~ <?php header('Content-type:text/html;charset=utf-8'); // echo $_GET['f']; doDownload(urldecode($_GET['f'])); /** * 下载一个文件 * @param string $fileName 要下载文件的地址 * @return void */ function doDownload($fileName){ // 禁止缓存 header('Expires:-1'); header('Cache-Control:no-cache'); header('Pragma:no-cache'); // 1、设置响应头为八进制数据流 header('Content-type:application/octet-stream'); // 2、告诉浏览器传送数据编码方式为2进制 header('Content-Transfer-Encoding: binary'); //3、支持断点续传 需要服务器支持断点续传功能 header('Accept-Ranges:bytes'); // 4、告诉客户端文件大小 $fileSize = filesize($fileName); header("Accept-Length:$fileSize"); // 5、告诉浏览器文件下载方式,以及下载的文件名 // 取出文件名中的空格 $tmpName = str_replace(' ', '-', $fileName); $tmpName = str_replace(' ', '-', $tmpName); $tmpName = explode('/', $tmpName); $tmpName = array_pop($tmpName); header("Content-Disposition:attachment;filename=$tmpName"); // 清空前面的输出 ob_end_clean(); //6、输出文件流 $handle = fopen($fileName, 'rb'); while($con = fread($handle, 1024)){ echo $con; } fclose($handle); } ?> ~~~