编辑:这完全描述了我的问题,但我无法用 PHP 克服它:http: //kb.winzip.com/kb/entry/149
我正在用 PHP 编写一个自动备份脚本,它会制作我网站文件和数据库的备份副本,并将这些文件发送到远程 FTP 站点以进行灾难恢复。我的 SQL 和 ZIP 文件(My SQL 没有双关语)在服务器上完美生成,但是,当我的 ZIP 存档上传到 FTP 站点时,它会损坏。
我从生成它的服务器下载了 ZIP 文件,打开它没问题。但是,一旦将同一个文件传输到 FTP 站点并从那里下载,似乎没有 ZIP 提取程序能够打开相同的文件。我可以打开我的 SQL 文件没有问题。
我很确定存档没问题,但是错误在于文件的传输:
$conn_id = ftp_connect("ftp.example.com");
$login_result = ftp_login($conn_id, "johnny1", "Re@l1y $tr0nG P@5swOrd!");
$dbBackup = fopen('database-backup.sql', 'r');
$filesBackup = fopen('files-backup.zip', 'r');
if (ftp_fput($conn_id, 'database/backup.sql', $dbBackup, FTP_BINARY) &&
ftp_fput($conn_id, 'files/backup.zip', $filesBackup, FTP_BINARY)) {
echo "Done!<br>";
} else {
echo "Failed";
exit;
}
ftp_close($conn_id);
fclose($dbBackup);
fclose($filesBackup);
从这里可以看到的 ZIP 文件的传输有什么问题吗?
感谢您的时间。