2012-01-29 101 views
0

我有一个PHP表格,它允许用户提供一个参考号码,然后选择一个PDF文件上传。上传多选文件到网络服务器与PHP

表单有多个选择,因此我希望能够用一种形式上传多个文件。

我的表单代码如下:

<form enctype="multipart/form-data" method="post" action="capturelocal2.php"> 
<table id="hor-minimalist-a" border=0> 
<tr><th><font color=red><b>Drop 1</b></font></th></tr> 
<tr id="r0"> 
<th valign=bottom>Haulier Delivery #</th> 
<th valign=bottom>Hulamin Load # A</th> 
<th valign=bottom>Load # A POD</th> 
<th valign=bottom>Hulamin Load # B</th> 
<th valign=bottom>Load # B POD</th> 
<th valign=bottom>Customer</th> 
<th valign=bottom>Arrive Time</th> 
<th valign=bottom>Depart Time</th> 
</tr> 
<tr id="r1"> 
<td valign=bottom width=50><input type=text name=drop1del id=drop1del size=12></td> 
<td valign=bottom width=50><input type=text name=ref1 id=ref1 size=12></td> 
<td valign=bottom width=50><input type=file size=6 name=ref1pod id=ref1pod></td> 
<td valign=bottom width=50><input type=text name=ref1b id=ref1b size=12></td> 
<td valign=bottom width=50><input type=file size=6 name=ref1bpod id=ref1bpod></td> 
<td> 
    <SELECT NAME="drop1" id="drop1" style="width:200px;" > 
    <OPTION VALUE=0> 
    <?=$optionscustomers?> 
    </SELECT> 
</td> 
<td><input type=text name="drop1arrivedatetime" id="drop1arrivedatetime" size=15><img src="images2/cal.gif" onclick="javascript:NewCssCal ('drop1arrivedatetime','yyyyMMdd','dropdown',true,'24')" style="cursor:pointer"/></td> 
<td><input type=text name="drop1departdatetime" id="drop1departdatetime" size=15><img src="images2/cal.gif" onclick="javascript:NewCssCal ('drop1departdatetime','yyyyMMdd','dropdown',true,'24')" style="cursor:pointer"/></td> 
</tr> 
<tr><th><font color=red><b>Drop 2</b></font></th></tr> 
<tr id="r2"> 
<th valign=bottom>Haulier Delivery #</th> 
<th valign=bottom>Hulamin Load # A</th> 
<th valign=bottom>Load # A POD</th> 
<th valign=bottom>Hulamin Load # B</th> 
<th valign=bottom>Load # B POD</th> 
<th valign=bottom>Customer</th> 
<th valign=bottom>Arrive Time</th> 
<th valign=bottom>Depart Time</th> 
</tr> 
<tr> 
<tr id="r3"> 
<td valign=bottom><input type=text name=drop2del id=drop2del size=12></td> 
<td valign=bottom width=50><input type=text name=ref2 id=ref2 size=12></td> 
<td valign=bottom width=50><input type=file size=5 name=ref2pod id=ref2pod></td> 
<td valign=bottom width=50><input type=text name=ref2b id=ref2b size=12></td> 
<td valign=bottom width=50><input type=file size=5 name=ref2bpod id=ref2bpod></td> 
<td> 
    <SELECT NAME="drop2" id="drop2" style="width:200px;" > 
    <OPTION VALUE=0> 
    <?=$optionscustomers?> 
    </SELECT> 
</td> 
<td><input type=text name="drop2arrivedatetime" id="drop2arrivedatetime" size=15><img src="images2/cal.gif" onclick="javascript:NewCssCal ('drop2arrivedatetime','yyyyMMdd','dropdown',true,'24')" style="cursor:pointer"/></td> 
<td><input type=text name="drop2departdatetime" id="drop2departdatetime" size=15><img src="images2/cal.gif" onclick="javascript:NewCssCal ('drop2departdatetime','yyyyMMdd','dropdown',true,'24')" style="cursor:pointer"/></td> 
</tr> 
    </table> 
    </form> 

我的PHP代码来处理的形式是:

$ref1 = $_POST[ref1]; 
    $ref1pod = $_POST[ref1pod]; 
    $ref1bpod = $_POST[ref1bpod]; 
    $ref2 = $_POST[ref2]; 
    $ref2pod = $_POST[ref2pod]; 
    $ref2bpod = $_POST[ref2bpod]; 

    if (isset(ref1pod) || ($_FILES["ref1pod"]["type"] == "application/pdf") 
     || ($_FILES["ref1pod"]["type"] == "image/jpeg") 
     && ($_FILES["ref1pod"]["size"] < 50000)) 
     { 
     move_uploaded_file($_FILES["ref1pod"]["tmp_name"], 
     "/home/hulaminyxr/public_html/pod/" . ($ref1pod.".pdf")); 
     echo "POD Successfully uploaded for delivery $ref1pod:<br><br>"; 
     } 

    if (isset($ref1bpod) ||($_FILES["ref1bpod"]["type"] == "application/pdf") 
     || ($_FILES["ref1bpod"]["type"] == "image/jpeg") 
     && ($_FILES["ref1bpod"]["size"] < 50000)) 
     { 
     move_uploaded_file($_FILES["ref1bpod"]["tmp_name"], 
     "/home/hulaminyxr/public_html/pod/" . ($ref1bpod.".pdf")); 
     echo "POD Successfully uploaded for delivery $ref1bpod:<br><br>"; 
    } 

if (isset(ref2pod) || ($_FILES["ref2pod"]["type"] == "application/pdf") 
     || ($_FILES["ref2pod"]["type"] == "image/jpeg") 
     && ($_FILES["ref2pod"]["size"] < 50000)) 
     { 
     move_uploaded_file($_FILES["ref2pod"]["tmp_name"], 
     "/home/hulaminyxr/public_html/pod/" . ($ref2.".pdf")); 
     echo "POD Successfully uploaded for delivery $ref2:<br><br>"; 
     } 

    if (isset($ref2bpod) ||($_FILES["ref2bpod"]["type"] == "application/pdf") 
     || ($_FILES["ref2bpod"]["type"] == "image/jpeg") 
     && ($_FILES["ref2bpod"]["size"] < 50000)) 
     { 
     move_uploaded_file($_FILES["ref2bpod"]["tmp_name"], 
     "/home/hulaminyxr/public_html/pod/" . ($ref2b.".pdf")); 
     echo "POD Successfully uploaded for delivery $ref2bpod:<br><br>"; 
    } 


    echo "<br><br>All files uploaded successfully"; 

目前,关于提交PDF文件没有被正确上传的形式?是我的代码是正确的还是这对多个文件不可能?

此外,我有10行的形式,我只提供了1行的代码,是否有更有效的方式来上传多个选定的文件?

感谢, 瑞安

回答

1
  1. 它可以上传多个文件。请阅读PHP manual for uploading multiple files
  2. 如果您的代码不起作用,请解释是什么问题。
  3. 您的代码将JPEG格式的文件保存为PDF格式。见下面我的意见:

    # If file type is "pdf" or "jpeg" save it... 
    if (isset(ref1pod) || ($_FILES["ref1pod"]["type"] == "application/pdf") 
         || ($_FILES["ref1pod"]["type"] == "image/jpeg") 
         && ($_FILES["ref1pod"]["size"] < 50000)) 
         { 
    
        # .. with .pdf extension 
        move_uploaded_file($_FILES["ref1pod"]["tmp_name"], 
        "/home/hulaminyxr/public_html/pod/" . ($ref1pod.".pdf")); 
    

    `