ユーザーが配列に配置された複数のファイルを選択できるようにするマルチパートフォームがあります。これが私のコードの縮小された部分です:
<form id="fileupload" action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
</form>
私のupload.phpファイルでは、テキストファイルに書き込み、各ファイルから情報を配置したいと考えています(フォーマット方法は関係ありません。配列は問題ありません)。
$date = $_POST["date"];
$files = $_POST["files"];
$myFile = $date . ".txt";
$fh = fopen($myFile, 'w') or die("cant_open_file");
$stringData = "Date: " . $date . "\n";
$stringData .= "Uploaded Files:\n";
$stringData .= $file; // prints nothing?
fwrite($fh, $stringData);
fclose($fh);
ただし、何も$file
印刷されていません。
質問
ユーザーから選択された各ファイルのファイル情報をテキスト ファイルに出力するにはどうすればよいですか?
望ましい出力
Date: Todays Date
Files: 2 file(s)
File: someimage1.png
Size: 10KB
File: someimage1.png
Size: 20KB
アップデート
$_FILES['files']
送信時は何故か空白なのですが、前の例で「ファイル:」と「サイズ:」を出力すると空白のように見えて$file['name']
しまいます。$file['size']
また、3 つのファイルを選択すると、「ファイル/サイズ」が 5 回表示されます (5 つのファイルが選択されたことを示しています)。これは、選択したファイルの量に関係なく同じです。正しい値がphp.iniにもあることを確認しました。ここからどこへ行くべきかわからない。
foreach($files as $file){
$stringData .= " File: ".$file['name']."\n"; // return blank
$stringData .= " Size: ".$file['size']."\n"; // return blank
}
また、私はjQuery File Upload Demoを使用しています。