【发布时间】:2010-07-20 20:00:04
【问题描述】:
我仍然有空格的问题:
我有一个供用户上传 mp3 文件的上传表单。它工作正常,除非文件名中有空格。目前我告诉用户不要使用带有空格的文件名,但显然在 mp3 中使用它们很常见。所以我想解决这个问题。会发生什么:
通常:
用户使用 html 文件输入表单选择没有空格的文件:
<form method="post" enctype="multipart/form-data" name="form2" id="form2" action="' . $_SERVER[PHP_SELF] . '">
<input type="file" style="color:#888888" name="file" id="file" />
然后,在服务器端,我使用
处理文件copy($_FILES['file']['tmp_name'], $newfilename);
这很好用。
不正常:
用户选择文件名中带有空格的文件。 print_r($_POST) 看起来像这样:
Array ( [x] => 21 [y] => 32 )
而 print_R($_FILES) 看起来像这样:
Array ( [file] => Array ( [name] => 11. test with spaces.mp3 [type] => [tmp_name] => [error] => 1 [size] => 0 ) )
由于 tmp_name 为空,脚本无法访问该文件,因此我们遇到了一个丑陋的错误... 所以我认为我需要操作 [tmp_name],使其没有空格,因为我的 Apache/Linux 服务器似乎有问题。有没有人知道如何解决这个问题?
问候和感谢
梅尼
【问题讨论】:
标签: php whitespace file-upload