Использование FTP-протокола Protocol Wrapper равнозначно использованию FTP для копирования файла? - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь создать процесс FTP, который выводит свой прогресс.

Я нашел этот ответ довольно простым на Получение прогресса ftp_put от Martin Prikryl

<?php
$local_path = "\Local\Path\Local_File.zip";
$remote_path = 'ftp://username:password@address/Remote_File.zip';

$size = filesize($local_path);

$hin = fopen($local_path, "rb") or die("Cannot open source file");
$hout = fopen($remote_path, "wb") or die("Cannot open destination file");

while (!feof($hin))
{
    $buf = fread($hin, 10240);
    fwrite($hout, $buf);
    echo "\r".intval(ftell($hin)/$size*100)."%";
}

fclose($hin);
fclose($hout);

Этот код работает.

Что я хочу спросить, так это если я буду использовать FTP URL Protocol Wrapper (ftp: //) в качестве URL.Копирует ли файл с помощью FTP?Или это просто копирование с помощью обычной команды PHP?

Потому что меня попросили создать процесс FTP для моего проекта, но мне нужен прогресс при копировании.

Спасибо, прежде :)

1 Ответ

0 голосов
/ 28 января 2019

Оболочка URL FTP использует протокол FTP под капотом.Вот почему они называются «FTP».

Понятия не имею, что вы подразумеваете под «копированием с помощью обычной команды PHP» .Если ваш единственный интерфейс с сервером - это FTP, а оболочка использует что-то еще, кроме FTP, то оболочка, очевидно, потерпит неудачу.Если это работает, это только доказывает, что он использует FTP.

Документация для Оболочка протокола FTP FTP говорит:

Разрешает доступ на чтение к существующим файлам и созданиеновые файлы через FTP .Если сервер не поддерживает пассивный режим FTP, соединение не будет установлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...