ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 下面就讲解文件下载的实例,具体就看下面的代码 ~~~ <?php //演示下载一个文件 $file_name="http.php"; //打开文件 if(!file_exists($file_name)){ echo "文件不存在 <br/>"; exit(); } $fp=fopen($file_name,"r"); //获取文件的大小 $file_size=filesize($file_name); //返回的文件 header("Content-type: application/octet-stream"); //按照字节大小返回 header("Accept-Ranges: bytes"); //返回文件的大小 header("Accept-Length: $file_size"); //这里是客户端弹出的对话框,对应的文件名 header("Content-Disposition: attachment;filename=".$file_name); //向客户端返回数据 $buffer=1024; //为了下载的安全,我们最好做一个文件字节读取的计数器 $file_count=0; //这句话用于判断文件是否结束 while(!feof($fp)&&($file_size-$file_count >0)){ $file_data=fread($fp,$buffer); //统计读了多少字节 $file_count += $buffer; //把部分数据回送给浏览器; echo $file_data; } //关闭文件 fclose($fp); ?> ~~~ ### 但是当文件名是中文时,为了放在下面是显示乱码的问题,需要在打开文件前对,文件名进行转码 ~~~ $file_name="哈喽.php"; //原因 PHP文件函数,比较古老,需要对中文进行转码 $file_name=iconv("utf-8","gb2312",$file_name); ~~~