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

时间:2011-07-11 21:55:24

标签: php codeigniter ftp

我使用Codeigniter备份mysql表并将sql文件写入本地webserver的htdocs / application / backups目录。

我希望将该目录镜像到我的远程网络服务器(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()的测试运行正常。

有关文件无法上传的任何想法

2 个答案:

答案 0 :(得分:1)

我正在回答我自己的问题,因为问题是我自己的无知。

private $server_folder = 'my_server_directory/';

应该是

private $server_folder = '/my_server_directory/';

我发誓我在解决问题的同时尝试了这种语法,但我必须改变别的东西,同时打破了镜像,隐藏了我的答案。

感谢您的评论和答案@Damien Pirsy和@ Edinho Almeida。

答案 1 :(得分:0)

如果

$this->ftp->mkdir()

工作正常,我确定你的权限设置没问题。

如果

$this->ftp->list_files()

工作正常,我确信您的连接设置也可以。

我猜你的SQL备份文件是以点

开头的

system/libraries/Ftp.php at lines 547 and 551