这是我的功能:
function backup()
{
$this->load->library('zip');
$path = str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']);
$this->zip->read_dir($path.'/assets/');
$this->zip->archive('backup.zip');
$this->zip->download('backup.zip');
}
当我访问该功能时,我的浏览器会暂停10-15秒,我认为这意味着正在进行存档。但是,加载完成后,除了500错误外没有任何反应。
不幸的是,我无法通过FTP直接访问此服务器,否则我会检查我的日志。不知道我的代码是不是错了?我的应用程序是在IIS7上安装的。
答案 0 :(得分:1)
默认情况下,Zip存档将放置所有目录 zip中的第一个参数。如果你想要前面的树 要忽略的目标文件夹,您可以传递
FALSE
所以500内部服务器错误最有可能来自max_execution_time
,因为您正在压缩路径中的每个目录。或者你有一个permission error
。
在这两种方式中你要做的就是使用:
$this->zip->read_dir($path.'/assets/', FALSE);
或强>
$this->zip->read_dir('assets/');
也会奏效。
我只是尝试了它并且它正在工作!
答案 1 :(得分:1)
function back_up(){
$this->load->library('zip');
$path = 'application/';
$time = time();
$this->zip->read_dir($path);
$result = $this->zip->download('backup.'.$time.'.zip');
return $result;
}
上述功能将备份应用程序文件夹。 举个例子,尝试使用自己的文件夹。
我说英语不太好,很抱歉。