0

上传文件时,我会进行“预览”之类的操作。它将表单变量存储为

for(i=0;i<count($UpFile);i++){ //loop
<input name="Files[',htmlspecialchars($UpFile_name[$i]),'][FileName]" type="text" value="',htmlspecialchars($UpFile_name[$i]),'">
<input name="Files[',htmlspecialchars($UpFile_name[$i]),'][FileSize]" type="text" value="',htmlspecialchars($UpFile_size[$i]),'">

然后在提交之后,$Files我何时使用保存的文件,使用它们的名称作为变量名称。

问题是,当我上传名称为 的文件时file[123].jpg,php 不会将其视为$Files['file[123].jpg'],而是视为$Files[$file[123].jpg']. 换句话说,找不到表单记录。

如果文件名中有方括号,如何存储表单输入的名称以保留方括号?

4

1 回答 1

0
$SpecReplace=Array('['=>'&#91;',']'=>'&#93;');
<input name="Files[',htmlspecialchars(strtr($UpFile_name[$i],$SpecReplace)),'][FileName]" type="text" 

将括号替换为 html 特殊字符有帮助 =)

于 2013-03-11T17:53:42.597 回答