Возобновить прекращенные загрузки с php ftp? - PullRequest
1 голос
/ 25 июня 2009

Есть ли способ возобновить прерванную загрузку через соединение ftp, установленное с php? Может ли php возобновить прерванную загрузку?

1 Ответ

2 голосов
/ 27 июня 2009

Да, это возможно, используя необязательный параметр $ resumepos функции ftp_fget ().

Пример:

$remote_file_name = "/test.txt";
$local_file_name = "test.txt";
$ftp_server = "ftp.your.server";
$username = "anonymous";
$password = "my@email";

$ftp_stream = ftp_connect($ftp_server);
$result = ftp_login($ftp_stream, $username, $password);
if ((!$ftp_stream) || (!$result)) {
  echo "FTP connection failed\n";
} else {
  echo "connected to FTP\n";
}

if (file_exists($local_file_name)) {
  $resume_pos = filesize($local_file_name);
} else {
  $resume_pos = 0;
}

$local_file_handle = fopen($local_file_name, "w");
$result = ftp_fget($ftp_stream, $local_file_handle, $remote_file_name, FTP_BINARY, $resumepos);

fclose($local_file_handle);
ftp_close($ftp_stream);

Вы можете использовать функцию ftp_size (), чтобы увидеть, нужно ли возобновлять файл или нет, но он не поддерживается на всех FTP-серверах, поэтому вам придется проверить это.

...