使用 php (ftp) 下载后文件损坏

File corrupted after downloading it with 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的过程中损坏了吗?还是必须首先损坏它?

我正在下载一个被很多人使用过的文件,所以如果它在我下载之前就被破坏了,那就很奇怪了。感谢您的帮助!

尝试将 FTP 模式切换为二进制,即替换此行:

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

有了这个:

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

More information here