存储上载到不同文件夹中的多个文件

时间:2012-07-07 14:44:05

标签: php

我能够在阵列中调出我的所有多个文件,并且它可以存储在特定文件夹中,例如。 “./documents/”。

Code for my form:
<form id="Student" name="Student" method="post" action="uploaded.php" enctype="multipart/form-data">
<input name="upload[]" id="Assign" type="file"/>
<input name="upload[]" id="Testpapers" type="file"/>
<input name="upload[]" id="others" type="file"/>
<input type="submit" name="submit" value="Submit">

Code for uploaded.php:
$number_of_uploaded_files = 0;
for ($i = 0; $i < count($_FILES['upload']['name']); $i++) 
{
 if ($_FILES['upload']['name'][$i] != '') 
{
    $dir = "documents/";
    $number_of_uploaded_files++;
    $uploaded_files[] = $_FILES['upload']['name'][$i];
    move_uploaded_file($_FILES['upload']['tmp_name'][$i], $dir. $_FILES['upload']['name'][$i])          

    }

是否可以将它们分别存储在不同的文件夹中?就像将它们存储在“文档/分配”中,然后“文档/测试”。我想不出一个想法,检测数组索引属于assign或testpapers,其他。

2 个答案:

答案 0 :(得分:1)

id不会传递到服务器端。

但你可以像下面那样指定密钥。

<input name="upload[assign]" id="Assign" type="file"/>
<input name="upload[testpapers]" id="Testpapers" type="file"/>
<input name="upload[others]" id="others" type="file"/>

在服务器端,您可以使用foreach来循环它。

foreach ($_FILES['upload']['name'] as $key => $name) {
  //...
} 

答案 1 :(得分:0)

只需更改字段名称即可。然后你可以通过$ i访问noti但是通过名字来决定该怎么做。