1

我有几个用于上传文件的输入字段:

<input type=file name=logo />
<input type=file name=userfile />
<input type=file name=userfile1 />
.
.
.
<input type=file name=top />
<input type=file name=bottom />

每个文件都需要以不同的方式处理。如何检查是否$_FILES启动,例如,使用userfile

4

4 回答 4

5

如果您有 mroe 用户文件,您可以将您的 html 标记更改为

<input type=file name=userfile[1] />
<input type=file name=userfile[2] />

然后在 PHP

foreach($_FILES['userfile'] as $i => $file) {
    processing
}

否则您可以检查名称是否以预期的字符串开头(http://php.net/manual/en/function.substr.php)

<?
    if(substr($inputName, 0, 7) === "userfile")
?>
于 2012-07-03T07:49:34.267 回答
0

此处给出的示例可能会对您有所帮助http://php.net/manual/en/reserved.variables.files.php

于 2012-07-03T07:50:47.130 回答
0
foreach ($_FILES as $name => $file) {
    switch ($name) {
        case 'userfile' :
            ...
        case ... 
    }

    // or:

    if (substr($file, 0, 6) == 'userfile') {
        ...
    }
}

但是foreach..switch,如果您可以简单地这样做,为什么

echo $_FILES['userfile']['name'];
// do something with $_FILES['userfile']...

echo $_FILES['userfile1']['name'];
// do something with $_FILES['userfile1']...
于 2012-07-03T07:51:12.350 回答
0

if ($_FILES['name'] == 'userfile') { /此处代码/} else {/此处代码/} ?

我没有测试它,但我认为它应该可以工作。

于 2012-07-03T07:51:26.977 回答