Я пытаюсь загрузить файлы на FTP с PHP. Это действительно работает, но не с несколькими файлами. Это код, который у меня есть;FTP-загрузка файлов с несколькими файлами PHP
for($i = 0; $i < count($data['data']['metas']); $i++)
{
echo "<li>".$data['data']['metas'][$i]["name"]."</li>";
echo "<li>".$data['data']['metas'][$i]["file"]."</li>";
echo "<li>".$data['data']['metas'][$i]["size2"]."</li>";
}
Это действительно работает. Он вернет данные для файлов, которые я загрузил, например:
- FILENAME01.EXT
- upload/FILENAME01.EXT
- 198.96 KB
- FILENAME02.EXT
- upload/FILENAME01.EXT
- 93.77 KB
- FILENAME03.EXT
- upload/FILENAME03.EXT
- 94.59 KB
Пока что так хорошо. Теперь я добавляю код загрузки в FTP, и это то, что у меня есть (прямо под кодом выше);
for($i = 0; $i < count($data['data']['metas']); $i++)
{
$host = "ftp.domain.com";
$username = "myuser";
$password = "mupass";
$local_file = $data['data']['metas'][$i]["file"];
$remote_file = $data['data']['metas'][$i]["name"];
$con = ftp_connect($host, 21) or die("Cant connect");
$log = ftp_login($con, $username, $password) or die("Wrong credentials");
ftp_pasv($con, true);
$upload = ftp_put($con, $remote_file, $local_file, FTP_BINARY);
if($upload) echo 'ftp error';
ftp_close($con);
echo 'ftp success';
exit;
}
Это вернет «успех ftp errorftp» на одной строке под информацией о загруженных файлах. Только первый файл, который я загрузил, будет загружен на FTP, но не все из них. Я не могу понять, почему. Что мне здесь не хватает? Цените любую помощь.
Удивительный отзыв! Я пробовал то, что вы сейчас здесь говорите, и теперь все работает отлично. Спасибо за совет! – zorensen