FTP镜像与Codeigniter创建文件夹,但没有上传文件


FTP Mirroring with Codeigniter creates folder, but no files uploaded

我使用Codeigniter来备份mysql表,并将sql文件写入本地web服务器的htdocs/application/backups目录。

我希望该目录镜像到我的远程web服务器 (dreamhost备份用户帐户),但它不工作,我没有看到sql文件在远程目录

我正在使用CI的FTP库,它的mirror()功能将我的本地备份目录的内容复制到我的远程服务器。

在我的数据库备份模型中,我设置了脚本中使用的变量:

private $local_folder = 'my_directory/';
private $server_folder = 'my_server_directory/';
private $server_credentials = array(
    'hostname'=>'my.hostname.com',
    'username'=>'my_username',
    'password'=>'my_password'
    );

同样在数据库备份模型中,我有镜像功能:

function mirror(){
    $this->load->library('ftp');
    $this->ftp->connect($this->server_credentials);
    $result = $this->ftp->mirror($this->local_folder,$this->server_folder);
    var_dump($result); //shows "true" 
    $this->ftp->close();
}

我从备份函数中调用mirror() sql文件由备份功能创建并存储在本地,但本地文件夹不镜像到web服务器。

远程备份目录权限为777,$this->ftp->list_files$this->ftp->mkdir()的测试运行正常。

知道为什么文件不能上传吗?

我把我自己的问题的答案贴出来,因为问题是我自己的无知。

private $server_folder = 'my_server_directory/';

应该是

private $server_folder = '/my_server_directory/';

我发誓我在解决问题的时候尝试过这种语法,但是我一定也改变了一些其他的东西,同时打破了镜像,对我隐藏了答案。

感谢你的评论和回答@ damien Pirsy和@ Edinho Almeida

If

$this->ftp->mkdir()

工作正常,我确定你的权限设置是正确的。

如果

$this->ftp->list_files()

工作正常,我相信你的连接设置也没问题。

我猜你的SQL备份文件是以。 开头的

中看到
system/libraries/Ftp.php at lines 547 and 551