php
  • file
  • upload
  • ftp
  • multiple-files
  • 2017-02-22 158 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

    相关问题