文章摘要
在测试下载站源码时,电脑端下载ZIP文件正常,但手机和苹果设备下载后出现乱码,苹果手机还导致ZIP文件变成HTML格式。经过尝试,问题出在自定义函数中未在最后添加`exit;`语句。最终,在函数末尾加入`exit;//加exit是为了解决有些手机下载pdf文件的后缀会变成(.html)的问题`后,下载页面不再乱码,且苹果手机下载ZIP文件也恢复正常。
在测试一款下载站源码时发现,发现电脑端下ZIP文件完美无错,用手机浏览器和第三方浏览器下载变成了乱码,苹果手机还会给ZIP下载文件变成html格式。
解决方案
网上找了很多种解决方法,有的说是编码没设置好,有的说函数错乱。最后测试,我的站长站发现只是没在自定义函数方法的最后加“exit;”
1 2 3 4 5 6 7 8 9 10 11 | header('Content-Description: File Transfer');header('Content-Transfer-Encoding: binary');header('Cache-Control: public, must-revalidate, max-age=0');header('Pragma: public');header('X-Generator: mPDF ' . static::VERSION);header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');header('Content-Type: application/pdf');echo $this->buffer;exit;//加exit是为了解决有些手机下载pdf文件的后缀会变成(.html)的问题break; |
在结尾加上exit;后,下载文件页面不乱码了,而且苹果手机下载ZIP文件也不会变成html格式了,完美解决。
© 版权声明
文章版权归作者所有,未经允许请勿转载。



