Exemplo n.º 1
0
 /**
  * Download test.
  * @return void
  */
 public function testDownload()
 {
     $ftp = new Ftp();
     // Opens an FTP connection to the specified host
     $ftp->connect('ftp.nettephp.com');
     $ftp->pasv(TRUE);
     // Login with username and password
     $ftp->login('*****@*****.**', 'anonymous');
     // Download file 'README' to local temporary file
     $temp = tmpfile();
     $ftp->fget($temp, 'README', Ftp::ASCII);
     // echo file
     fseek($temp, 0);
     $this->assertEquals("Nette Framework rocks!", stream_get_contents($temp));
 }
Exemplo n.º 2
0
 /**
  * Uploads a file or directory to an FTP connection.
  *
  * @param \Ftp         $ftp  An active FTP connection.
  * @param \SplFileInfo $file A local file to upload.
  */
 protected function upload(\Ftp $ftp, \SplFileInfo $file)
 {
     // enter into passive mode
     $ftp->pasv(true);
     // move to the file's parent directory
     $ftp->chdir($this->targetDirectory . '/' . $file->getRelativePath());
     // check if the file exists
     $fileExists = in_array($file->getBasename(), $ftp->nlist('.'));
     // check if the file is a directory
     if ($file->isDir()) {
         // create the directory if it does not exist
         if (!$fileExists) {
             $this->printTaskInfo('Creating directory: ' . $file->getRelativePathname());
             // create directory
             $ftp->mkdir($file->getBasename());
         }
     } else {
         // if the file already exists, check our skip options
         if ($fileExists) {
             // skip the file if the file sizes are equal
             if ($this->skipSizeEqual && $ftp->size($file->getBasename()) === $file->getSize()) {
                 return;
             }
             // skip the file if modified time is same or newer than source
             if ($this->skipUnmodified && $ftp->mdtm($file->getBasename()) >= $file->getMTime()) {
                 return;
             }
         }
         // try to upload the file
         $this->printTaskInfo('Uploading: ' . $file->getRelativePathname());
         if (!$ftp->put($file->getBasename(), $file->getRealpath(), FTP_BINARY)) {
             // something went wrong
             return Result::error($this, 'Failed while uploading file ' . $file->getRelativePathname());
         }
     }
 }
Exemplo n.º 3
0
// www.xtac.net
$container['template'] = function ($c) {
    $tpl = new \Template_();
    $tpl->skin = 'bootstrap';
    return $tpl;
};
// logger
$container['logger'] = function ($c) {
    $logger = new Kaiser\Manager\LogManager(__DIR__ . '/../logs');
    return $logger;
};
// session
$container['session'] = function ($c) {
    $session = new Kaiser\Session\FileSession(__DIR__ . '/../tmp');
    $session->start_session();
    return $session;
};
// ftp
$container['ftp'] = function ($c) {
    $ftp = new \Ftp();
    // Opens an FTP connection to the specified host
    $ftp->connect($c['config']->get('ftp.host'));
    if (!empty($c['config']->get('ftp.user')) && !empty($c['config']->get('ftp.pass'))) {
        // Login with username and password
        $ftp->login($c['config']->get('ftp.user'), $c['config']->get('ftp.pass'));
    } elseif (!empty($_SESSION['user']['username']) && !empty($_SESSION['user']['password'])) {
        $ftp->login($_SESSION['user']['username'], $_SESSION['user']['password']);
    }
    $ftp->pasv($c['config']->get('ftp.passive'));
    return $ftp;
};