编辑:这正好说明我的问题,但我不能用PHP克服它:http://kb.winzip.com/kb/entry/149ZIP档案变为损坏后,才上传PHP到FTP
我写在PHP自动备份的脚本,这使得我的网站文件和数据库的备份副本,并将这些文件发送到远程FTP站点进行灾难恢复。我的SQL和ZIP文件(我的SQL上没有双关语)在服务器上完美地生成,但是,当我的ZIP存档上传到FTP站点时,它变得损坏。
我从生成它的服务器下载了ZIP文件,并打开它没有问题。但是,一旦将ZIP文件传输到FTP站点并从那里下载,ZIP解压缩程序似乎无法打开相同的文件。我可以打开我的SQL文件没有问题。
我敢肯定,档案是确定的,而是,故障出在文件的传输:
$conn_id = ftp_connect("ftp.example.com");
$login_result = ftp_login($conn_id, "johnny1", "[email protected] $tr0nG [email protected]!");
$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文件的传输,你可以看到从这里?
谢谢你的时间。
查看上传的zip文件是否会产生任何有趣的结果? –
@arxanas Nope ...刚开始是这样的:PK''!A!'E menable_javascript.phpíXmoÛ6þ... –
每个FTP连接只写一个文件怎么样? –