2013-03-11 5 views
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]),'"> 

, а затем после submittting, когда $Files является массив, который я работать с сохраненными файлами, используя их имена в качестве имен переменных.

Проблема в том, что когда я загружаю файл с именем file[123].jpg, тогда php смотрит на него не как $Files['file[123].jpg'], а как $Files[$file[123].jpg']. Другими словами, запись формы не найдена.

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

ответ

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

замена кронштейнов на HTML специальные символы помогли =)