2012-10-24 118 views
0

我正在使用此代码来备份我的mysql数据库,并且它对我的用途工作正常。此脚本将我的备份保存为.sql文件我如何压缩该sql文件。这里是代码php中的zip文件

$username = "***"; 
$password = "***"; 
$hostname = "***"; 
$database = "***"; 
$username =escapeshellcmd($username); 
$password =escapeshellcmd($password); 
$hostname =escapeshellcmd($hostname); 
$database =escapeshellcmd($database); 
$backupFile=''.date("Y-m-d-H-i-s").$database.'.sql'; 
$command = "mysqldump -u$username -p$password -h$hostname $database > $backupFile"; 
system($command, $result); 
echo $result; 
+5

我敢肯定,这可以相当容易地用谷歌搜索。我会开始在php中输入'zip文件。 –

+0

通常,您可以直接将数据传输到zip命令。 –

回答

3

对于纯PHP解决方案,我相信这应该这样做:(从http://www.php.net/manual/en/ziparchive.addfile.php

$z = new ZipArchive(); 
$z->open("sqldump.zip", ZIPARCHIVE::CREATE); 
$z->addFile($backupFile); 
$z->close(); 
+0

谢谢你!这正是我所需要的。等待时间用完时我会接受这个答案 –

+0

没有问题。 @Pekka是对的。 Google FTW! 'php zip' –

0

你可以使用tar:使用exec()

+1

'tar'本身不是压缩,而是档案格式。现在,您正在将一个文件打包到压缩文件中,而不是压缩或其他任何好处;) – KingCrunch

+0

哦,当然!你是对的! – jan267