Я пытаюсь загрузить файлы на 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;
Этот скрипт на самом деле работает, но только с одним файлом. Если я загружаю несколько файлов через свою форму, он просто загрузит один файл. Я хочу, чтобы все файлы из моей формы были загружены. Как я могу это сделать?
Возможно, вы захотите заглянуть в петли. Одним из решений может быть цикл по всем файлам, которые вы получаете из формы с помощью цикл foreach, например.:
foreach($_FILES['files'] as $file){
// your upload logic here
}
Вам также нужно будет изменить логику в вашей HTML-форме загрузки. Вы должны учитывать несколько $_FILES['files']
например, в формате $_FILES['files'][0]
, $_FILES['files'][1]
, …,$_FILES['files'][n]
Я надеюсь, что это даст вам некоторое направление 🙂
Других решений пока нет …