Файл поврежден после загрузки с помощью php (ftp)

Я скачал файл, используя приведенный ниже код. Но когда я пытаюсь открыть его с помощью WinRAR, чтобы извлечь файл из папки gz, я получаю сообщение о том, что файл поврежден.

Вот мой код:

$local_file = "wp-content/uploads/wpallimport/files/product-feed_toys.csv.gz";
$server_file = "product-feed_toys.csv.gz";

$ftp_username="hidden";
$ftp_userpass="hidden";


$ftp_server = "hidden";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to 
$ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);


if (ftp_get($ftp_conn, $local_file, $server_file, FTP_ASCII)){
echo "Successfully written to $local_file. ";
}

else{
echo "Error downloading $server_file.";
}


ftp_close($ftp_conn);

Мой файл поврежден во время копирования файла с сервера a на сервер b? Или он должен быть поврежден в первую очередь?

Я загружаю файл, который использовался многими людьми, поэтому было бы странно, если бы он был поврежден до моей загрузки. Спасибо за помощь!


person Bart Roelofs    schedule 14.01.2019    source источник


Ответы (1)


Попробуйте переключить режим FTP на бинарный, т.е. замените эту строчку:

if (ftp_get($ftp_conn, $local_file, $server_file, FTP_ASCII)) {

с этим:

if (ftp_get($ftp_conn, $local_file, $server_file, FTP_BINARY)) {

Дополнительная информация здесь

person markmoxx    schedule 14.01.2019
comment
Это сделало трюк! Большое спасибо! - person Bart Roelofs; 14.01.2019