2013-03-11 80 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特殊字符幫助=)