我有一个多部分表单,我允许用户在其中选择放置在数组中的多个文件。这是我的代码的缩小部分:
<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。