我正在建立一个网站,用户可以上传他们的mp3,我遇到了一个我无法解决的小问题:
上传工作正常,但仅当用户选择mp3文件中没有空格的mp3文件时。像'My nice mp3 file.mp3'这样的文件将导致$ _FILES ['file']的NULL。这与服务器配置有关吗?
任何人都知道如何解决这个问题?除了告诉用户只是上传其名称中没有空格的mp3文件,即: - )
感谢名单,
Maenny
答案 0 :(得分:1)
正如其他用户所说,可能不是造成问题的空间。我的第一个想法是检查你的PHP upload_limit设置得足够高。还要记住,无论用户调用了什么文件,您都不应该在服务器上存储该文件名 - 这样做存在潜在安全漏洞的风险太大。
虽然为了诊断这个问题,我建议你创建一个你知道没问题的MP3文件,制作2个副本 - 用空格命名一个,用一个不用。然后看看有空格的那个是否失败。如果是这种情况,那么至少你知道你确实找到了问题的根源 - 如果没有,那么你已经消除了它的一个可能原因,你可以在其他地方寻找。
答案 1 :(得分:0)
远程(客户端)文件的文件名不应影响它传输到服务器的方式。你确定空格是问题吗?
答案 2 :(得分:0)
尝试urlencode()您的文件名。
如果不起作用,请尝试rawurlencode()。
如果这不起作用,我就会离开:)
答案 3 :(得分:0)
空格不应该导致这个问题。我的网站上有一个MP3上传器,没有空格问题。我已经测试了“Test Name.mp3”,它运行良好。
http://www.the-mag.me.uk/Music/Articles/Item/Add-Your-Music/
为了帮助您诊断任何潜在的问题,请尝试转储$ _FILES数组的内容并检查其中的任何内容是否为您提供了线索。
print_r($_FILES);