我正在研究一个图像上传流程,在测试之后遇到了一个奇怪的问题。我们正在尝试使用以下文件名对其进行测试:

1234567890-=!@#$%^&()_+qwertyuiop[]{}asdfghjkl;'zxcvbnm,.png

在表单发布后,我在$_files对象中查看它,得到的名称是:
zxcvbnm,..png

(这两个点不是打字错误)
在调查这件事时,我听说这可能与魔法语录有关。我试过关掉它们,但没有成功。有什么想法吗?另外,下面的代码…
$size = sizeof($_FILES['userfile']['name']);
for($i = 0; $i < $size; $i++) {
    $file_name = $_FILES['userfile']['name'][$i];
    $file_path = $_FILES['userfile']['tmp_name'][$i];
    $file_error = $_FILES['userfile']['error'][$i];
    ...

$file_name变量将被修剪。思想?

最佳答案

在名称上尝试addslashes函数:
http://php.net/addslashes

关于php - 来自$ _FILES的文件名与撇号的效果不佳,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16612585/

10-10 06:37