两个浏览按钮 - 上传

时间:2013-08-21 15:50:41

标签: php

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

doc1是浏览button1的名称属性 doc2是browse button2的名称属性

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);
    }
}
}

2 个答案:

答案 0 :(得分:0)

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

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

因此,您只需访问此数组以用于将来的操作。

答案 1 :(得分: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);
}
}
}
}