php
  • file
  • upload
  • ftp
  • multiple-files
  • 2017-02-22 157 views 0 likes 
    0

    我想通過PHP上傳文件到FTP,它的工作原理...排序。請看看我的代碼;PHP上傳多個文件到FTP

     $filename = $_FILES['files']['name']; 
          $host = "ftp.mydomain.com"; 
          $username = "myusername"; 
          $password = "mypassword"; 
          $local_file = 'upload/'.$filename; 
          $remote_file = $filename; 
    
          $con = ftp_connect($host, 21) or die("Couldnt connect"); 
          $log = ftp_login($con, $username, $password) or die("Wrong username or password."); 
    
          ftp_pasv($con, true); 
    
          $upload = ftp_put($con, $remote_file, $local_file, FTP_BINARY); 
          if($upload) echo 'Error.'; 
          ftp_close($con); 
    
          echo 'Success'; 
          exit; 
    

    這個腳本實際上工作,但只是與一個文件。如果我通過表單上傳多個文件,它只會上傳一個文件。我希望我的表單中的所有文件都能上傳。我怎樣才能做到這一點?

    +0

    將循環在PHP代碼。 – Barmar

    +0

    如何?我真的是新的PHP。 @Barmar – zorensen

    +0

    用一個'foreach()'語句來遍歷數組的元素。 – Barmar

    回答

    2

    你可能想看看循環。一種解決方案可能是遍歷你從你的形式得到了foreach loop的所有文件,例如:

    foreach($_FILES['files'] as $file){ 
        // your upload logic here 
    } 
    

    您也將有調整的邏輯在你的HTML上傳表單。您必須考慮多個$_FILES['files'],例如在格式$_FILES['files'][0]$_FILES['files'][1],...,$_FILES['files'][n]

    我希望這會給你一些指導:-)

    +1

    我會給這個鏡頭!謝謝。我是PHP新手,但我正在學習繩索! – zorensen

    +0

    我真的相信你在這裏@jrn有一個很好的答案。但是,我對此很陌生,我正在努力實現這一點並使其工作。通過調整html上傳表單,你的意思是例如? – zorensen

    +0

    嘗試像這樣''。確保輸入名稱後面有'[]'。 – jrn

    相關問題