/** * Shows you the actual path on the server * * @access public * @return mixed The actual path or Jaws_Error */ function pwd() { $res = $this->_ftp->pwd(); if (PEAR::isError($res)) { return new Jaws_Error($res->getMessage(), __FUNCTION__); } return $res; }
/** * Returns the current directory path * * @return string */ public function pwd() { switch ($this->_connType) { case SftpHelper::TYPE_SFTP: default: $res = $this->_connection->pwd(); break; case SftpHelper::TYPE_FTP: $res = ftp_pwd($this->_connection); break; } return $res; }
/** * Purge given directory's contents * * @var string $purgeDirs */ public function purge($purgeDirs) { foreach ($purgeDirs as $dir) { $origin = $this->connection->pwd(); $this->output("<red>Purging directory <white>{$dir}"); // Failing to enter into the directory means should stop // the script form purging. Otherwise wrong content is deleted. // @Agnis-LV lost ~8GB of important data because of this. Sorry man! if (!$this->connection->cd($dir)) { $this->output(" ! Could not enter into '{$dir}'. Check your directory path."); $this->connection->cd($origin); continue; } if (!($tmpFiles = $this->connection->ls())) { $this->output(" - Nothing to purge in {$dir}"); $this->connection->cd($origin); continue; } $haveFiles = false; $innerDirs = array(); foreach ($tmpFiles as $file) { $curr = $this->connection->pwd(); if ($this->connection->cd($file)) { $innerDirs[] = $file; $this->connection->cd($curr); } else { $haveFiles = true; $this->output(" - {$file} is removed from directory"); $this->connection->rm($file); } } if (!$haveFiles) { $this->output(" - Nothing to purge in {$dir}"); } else { $this->output("<red>Purged <white>{$dir}"); } if (count($innerDirs) > 0) { // Recursive purging $this->purge($innerDirs); } $this->connection->cd($origin); } }
/** * Purge given directory's contents * * @var string $purgeDirs */ public function purge($purgeDirs) { foreach ($purgeDirs as $dir) { $origin = $this->connection->pwd(); $this->connection->cd($dir); $this->output("<red>Purging directory <white>{$dir}"); if (!($tmpFiles = $this->connection->ls())) { $this->output(" - Nothing to purge in {$dir}"); $this->connection->cd($origin); continue; } $haveFiles = false; $innerDirs = []; foreach ($tmpFiles as $file) { $curr = $this->connection->pwd(); if ($this->connection->cd($file)) { $innerDirs[] = $file; $this->connection->cd($curr); } else { $haveFiles = true; $this->output(" - {$file} is removed from directory"); $this->connection->rm($file); } } if (!$haveFiles) { $this->output(" - Nothing to purge in {$dir}"); } else { $this->output("<red>Purged <white>{$dir}"); } if (count($innerDirs) > 0) { $this->purge($innerDirs); } $this->connection->cd($origin); } }
/** * Purge given directory's contents * * @var string $purgeDirs */ public function purge($purgeDirs) { foreach ($purgeDirs as $dir) { $origin = $this->connection->pwd(); $this->connection->cd($dir); if (!($tmpFiles = $this->connection->ls())) { $this->output("Nothing to purge in {$dir}"); continue; } $this->output("<red>Purging <white> ..."); foreach ($tmpFiles as $file) { $this->connection->rm($file); } $this->output("<red>Purged <white>{$dir}"); $this->connection->cd($origin); } }