Формировать имена переменных в квадратных скобках в

При загрузке файлов я делаю что-то вроде "превью". Хранит переменные формы как

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'], Другими словами, форма записи не найдена.

Как сохранить имена для ввода формы, чтобы сохранить квадратные скобки, если они есть в именах файлов?

1 ответ

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

замена скобок на html помогли специальные символы =)

Другие вопросы по тегам