-1

我有一个带有 2 个浏览按钮的表单,我怎么能解决它,多个文件上传是不同的,以前我有一个带有单个浏览按钮的工作示例,但是我如何使用相同的代码进行第二次浏览,我复制了第一个按钮代码并更改第二个名称属性,但这不是好方法。

doc1 是浏览按钮 1 的名称属性 doc2 是浏览按钮 2 的名称属性

if($_POST['submit'])
{
if(isset($_FILES['doc1'])){
    $errors= array();
    $file_name = $_FILES['doc1']['name'];
    $file_size =$_FILES['doc1']['size'];
    $file_tmp =$_FILES['doc1']['tmp_name'];
    $file_type=$_FILES['doc1']['type'];

    $file_ext=strtolower(end(explode('.',$_FILES['doc1']['name'])));
    $extensions = array("pdf","docx","doc");

    if(in_array($file_ext,$extensions )=== false){
     echo "Extension not allowed, please choose a pdf,docx or doc format.";
    }
    if($file_size > 5500000){
    echo'File size must be exactly 2 MB';
    }               
    if(empty($errors)==true){
        $path = 'uploads/'.$file_name;

        //mkdir($path, 0777, true);
        //$dirn=mkdir('uploads/'.$file_name,0777,true);


        move_uploaded_file($file_tmp,$path);

        echo "Success";
    }else{
        print_r($errors);
    }
}
}
4

2 回答 2

0

如果您不想为浏览器按钮使用两个不同的名称,请创建一个数组,例如,

<input type="file" name="doc1[]">
<input type="file" name="doc1[]">

因此,您只需访问该数组即可进行未来的操作。

于 2013-08-21T16:18:45.347 回答
0
if($_POST['submit'])
{
for($i=0;$i<count($_FILES['doc1']);$i++)
{

if(isset($_FILES['doc1'][$i])){
$errors= array();
$file_name = $_FILES['doc1'][$i]['name'];
$file_size =$_FILES['doc1'][$i]['size'];
$file_tmp =$_FILES['doc1'][$i]['tmp_name'];
$file_type=$_FILES['doc1'][$i]['type'];

$file_ext=strtolower(end(explode('.',$_FILES['doc1'][$i]['name'])));
$extensions = array("pdf","docx","doc");

if(in_array($file_ext,$extensions )=== false){
 echo "Extension not allowed, please choose a pdf,docx or doc format.";
}
if($file_size > 5500000){
echo'File size must be exactly 2 MB';
}               
if(empty($errors)==true){
    $path = 'uploads/'.$file_name;

    //mkdir($path, 0777, true);
    //$dirn=mkdir('uploads/'.$file_name,0777,true);


    move_uploaded_file($file_tmp,$path);

    echo "Success";
}else{
    print_r($errors);
}
}
}
}
于 2013-08-22T13:53:16.373 回答