我正在研究图像上传流程,但在测试后遇到了一个奇怪的问题。我们正在尝试使用以下文件名对其进行测试:
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/