2017-02-22 28 views
0

Я пытаюсь загрузить файлы на FTP через PHP, и он работает ... вроде. Посмотрите мой код;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

Смежные вопросы