我上传了文件,并尝试通过删除不需要的字符来处理奇怪的文件名。但是我遇到的情况是,我只是玩弄不需要的(字符)文件名,并得到以下结果:
我的错误文件名是:1\;ping\ -c1\ 1.1.1.1
Firefox正在发送:
Content-Disposition: form-data; name="send_file"; filename="1\;ping\ -c1\ 1.1.1.1"
但是PHP的$_FILES['send_file']['name']
目的只是给我1.1.1.1
(带有空格)作为名称。
总的来说这是可以忽略的,但是我想了解这里发生了什么
这是怎么回事 请赐教
使用的软件:
PHP的$_FILES['send_file']['name']
确实不相等Content-Disposition
的filename="..."
值。
PHP正在做一些清理工作:删除路径并仅存储文件名,如文档中所述:
$ _FILES ['userfile'] ['name']
客户端计算机上文件的原始名称。
删除路径意味着删除最后一个斜杠/反斜杠之前的所有内容(包括它们),这就是您所得到的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句