2014-12-22 33 views
0

我有一個很小的運行代碼,但缺少一些零碎的東西。我希望能夠上傳兩個文件(不少於,不多),並將它們保存在不同的文件夾中。這些文件是「exe」。上傳兩個且只有兩個文件並保存在不同的文件夾中php

文件:的fileA,FILEB

爲的fileA文件路徑:對於FILEB /home/abc/Downloads/createA/fileA

文件路徑:/home/abc/Downloads/createB/fileB

的問題是,我有如下形式,它允許多個上傳,但沒有按」 t加載第二個文件。我看到的,是越來越上傳並保存在/home/abc/Downloads/createA/fileA

代碼的第一個文件:

<?php 

    if(isset($_FILES['files'])){ 

    $errors= array(); 

    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){ 

      //added from single upload 

    if($file_size > 3000000){ 

     $errors[]='File size must be less than 3 MB'; 

    }  
    if(empty($errors)==true){ 
      echo "Please make sure uploaded file name contains 'fileA' in the name"; 
      echo '<br/>'; 

    if(preg_match("/fileA/i", $file_name)){ 
      $upload_dir = "/home/abc/Downloads/createA/"; 
      $upload_dir_1 = "$upload_dir".$file_name; 
      mkdir($upload_dir, 0777, true); 
      move_uploaded_file($file_tmp,$upload_dir_1); 

     // print_r($upload_dir); 
     echo '<br/>'; 
     echo "Success "; 
     echo "Stored in: " .$upload_dir; 


    if (preg_match("/fileB/i", $file_name)){ 
     $upload_dir = "/home/abc/Downloads/createB/"; 
     $upload_dir_1 = "$upload_dir".$file_name; 
     mkdir($upload_dir, 0777, true); 
     move_uploaded_file($file_tmp, $upload_dir_1); 
     echo '<br/>'; 
     echo "Loaded fileB"; 
     } 

    else{ 
     echo "I am not uploading fileB"; 
    } 
     } 

    } 

    else{ 
    echo "I am not loading fileA"; 
    print_r($errors); 
    } 
} 


<form action="" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="files[]" /><br /> 
    <input type="file" name="files[]" /><br /> 
    <input type="submit"/> 
</form> 
+1

表單不會給你任何路徑信息。您決定服務器端代碼中的路徑。問題解決了。 – developerwjk

+0

我知道表單不會給出任何路徑信息。這裏的表單允許用戶加載單個/多個文件。我將表單和服務器端代碼嵌入到同一個文件中。我覺得,是因爲邏輯的緣故,第二個文件沒有上傳。 –

+0

這不是你在問題中所說的。你說他們正在保存同樣的道路,現在你說第二個就是迷路了。更清楚。現在,我知道你不會想聽到這個,但是如果你真的縮進你的代碼到它可讀的地方,它可能會更容易找到錯誤。就目前而言,它太多的工作來分辨循環中的內容以及什麼不是,等等。 – developerwjk

回答

1

本聲明:

if(preg_match("/fileA/i", $file_name)) 

及本聲明:

if(preg_match("/fileB/i", $file_name)) 

應評估separetly,但目前你有第二個嵌套到fi第一個

+0

這無疑是不良縮進的結果。這就是爲什麼'tab'按鈕被髮明出來的原因。 – developerwjk

相關問題