上传文件时,我会做'预览'之类的事情。它将表单变量存储为
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']
。换句话说,找不到表单记录。
如果文件名中有些名称,如何存储表单输入的名称以保留方括号?
答案 0 :(得分:0)
$SpecReplace=Array('['=>'[',']'=>']');
<input name="Files[',htmlspecialchars(strtr($UpFile_name[$i],$SpecReplace)),'][FileName]" type="text"
将括号替换为html特殊字符帮助=)