<form enctype="multipart/form-data">
<input type="file" name="mp3" />
<input type="submit" />
</form>
我尝试了上述操作,发现var_dump($_FILES);
始终为空。
仅在您上传文本文件或图片时才有效。
更新
我添加method="POST"
并且它有效。这里为什么需要POST
?
答案 0 :(得分:5)
MP3文件上传应该像任何其他文件上传一样工作,不存在文件类型或扩展名的歧视。
检查您的文件是否大于允许的文件。
PHP manual on file uploads: Common pitfalls
更新: @Adhip Gupta解决了这个问题。 GET似乎是FORM的默认方法,而不是我认为的POST。点击此处:http://www.w3.org/TR/html401/interact/forms.html#h-17.13.1
此属性指定将使用哪种HTTP方法提交表单数据集。可能的(不区分大小写)值是“get”(默认值)和“post”。有关使用信息,请参阅表单提交部分。
答案 1 :(得分:4)
您是否明确指定了表单方法POST并尝试?
答案 2 :(得分:0)
要检查的第一件事是文件有多大,以及PHP.ini中的最大上传大小设置为。
答案 3 :(得分:0)
您的PHP代码没有错。 PHP和网络服务器都不知道MP3文件和其他类型内容之间的区别。
您是否检查过它与尺寸无关?
你知道浏览器和PHP之间没有其他东西可能正在过滤吗?
您是否尝试使用窃听(例如wireshark)来确认数据是否已离开浏览器/到达服务器?
下进行。
答案 4 :(得分:0)
也许你错过了应该包含的MAX_FILE_SIZE。
<input type="hidden" name="MAX_FILE_SIZE" value="157286400" />
您还应该将action="some.php"
和method="POST"
添加到<form>
答案 5 :(得分:0)
或者使用http://www.uploadify.com/和ajax