Формировать имена переменных в квадратных скобках в
При загрузке файлов я делаю что-то вроде "превью". Хранит переменные формы как
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('['=>'[',']'=>']');
<input name="Files[',htmlspecialchars(strtr($UpFile_name[$i],$SpecReplace)),'][FileName]" type="text"
замена скобок на html помогли специальные символы =)