php - 如何使用MIME协议配合表单在iphone手机上下载文件?
天蓬老师
天蓬老师 2017-04-11 10:12:08
[PHP讨论组]

做了一个在线下载音乐网站的工具,使用PHP编写,包含MIME协议中的Content-type&Content-Disposition,测试了电脑,安卓都可以正常下载,代码如下(测试用的,代码排版较乱希望多多包涵):

MP3格式的文件在浏览器中打开直接被浏览器解析播放了,这个在线工具的目的就是从一个网站获取链接(MP3格式)后通过MIME协议强制浏览器下载MP3文件而不是在线播放,假设好的网站地址为:http://www.w00yun.top/echo.php

这样输入链接直接就可以下载MP3格式的文件了且在电脑&安卓多浏览器均测试成功,但是拿到iphone上使用iphone自带的Safari浏览器下载就直接这样了:

只是PHP爱好者,并没有专业学过编程,也从没做过编程相关的工作,百度后得知iphone自带的浏览器是不可以随意下载东西的,然后使用iphone下的QQ浏览器下载是可以下载的,但是下载文件大小明显不对:

这样我就开始测试是哪儿出了问题,通过谷歌在oschina上看到说表单提交按钮的样式在Safari浏览器上无效

还以为是表单提交的问题,但是通过查看答案发现并不是我想要的答案,而且通过测试,如果注释掉MIME协议,直接通过表单提交输出获取到的下载链接是正常可以获取到的

由此判断并不是表单的原因,然后我又单独直接把链接赋值给变量,通过MIME协议下载发现也是可以正常下载的,歌曲大小正常也可以播放:

这样不管是获取下载链接还是通过MIME协议直接下载在iphone的QQ浏览器中都是可以的,但是通过表单提取链接再通过MIME下载就是不可以下载正常文件的,不知道是什么问题,希望可以帮忙解答一下,谢谢!

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号