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]),'">

そして、提出後、$Files配列が変数名として名前を使用して、保存されたファイルを操作します。

問題は、名前が のファイルをアップロードすると、file[123].jpgphp はそれを ではなく と見なすこと$Files['file[123].jpg']です$Files[$file[123].jpg']。つまり、フォーム レコードが見つかりません。

ファイル名に角かっこがある場合、角かっこを保持するためにフォーム入力の名前を保存する方法は?

4

1 に答える 1

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

ブラケットをhtmlの特殊文字に置き換えると役立ちました=)

于 2013-03-11T17:53:42.597 に答える