PHP mp3上传文件名中的空格

时间:2010-05-08 12:38:41

标签: php upload mp3 filenames

我正在建立一个网站,用户可以上传他们的mp3,我遇到了一个我无法解决的小问题:

上传工作正常,但仅当用户选择mp3文件中没有空格的mp3文件时。像'My nice mp3 file.mp3'这样的文件将导致$ _FILES ['file']的NULL。这与服务器配置有关吗?

任何人都知道如何解决这个问题?除了告诉用户只是上传其名称中没有空格的mp3文件,即: - )

感谢名单,

Maenny

4 个答案:

答案 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);