PHP загрузить несколько файлов на FTP

Я пытаюсь загрузить файлы на FTP через PHP, и это работает … вроде. Пожалуйста, посмотрите на мой код;

        $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;

Этот скрипт на самом деле работает, но только с одним файлом. Если я загружаю несколько файлов через свою форму, он просто загрузит один файл. Я хочу, чтобы все файлы из моей формы были загружены. Как я могу это сделать?

1

Решение

Возможно, вы захотите заглянуть в петли. Одним из решений может быть цикл по всем файлам, которые вы получаете из формы с помощью цикл foreach, например.:

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

Вам также нужно будет изменить логику в вашей HTML-форме загрузки. Вы должны учитывать несколько $_FILES['files']например, в формате $_FILES['files'][0], $_FILES['files'][1], …,$_FILES['files'][n]

Я надеюсь, что это даст вам некоторое направление 🙂

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]