rawlist() public method

Returns a detailed list of files in the given directory
public rawlist ( string $dir = '.', boolean $recursive = false ) : mixed
$dir string
$recursive boolean
return mixed
Esempio n. 1
0
 /**
  * @param null|string $Name
  *
  * @return SFTP\Directory[]|SFTP\File[]
  */
 public function listDirectory($Name = null)
 {
     $this->persistConnection();
     if (null === $Name) {
         $Name = $this->Connection->pwd();
     }
     $List = $this->Connection->rawlist($Name);
     $Return = array();
     foreach ($List as $Item => $Attributes) {
         if ($this->Connection->is_dir($Item)) {
             $Return[$Item] = new Directory($this, $Attributes);
         }
         if ($this->Connection->is_file($Item)) {
             $Return[$Item] = new File($this, $Attributes);
         }
     }
     return $Return;
 }
Esempio n. 2
0
 /**
  * @param string $root
  * @param string $relative
  * @param array  $listfiles
  * @param array  $listdirs
  */
 private function getFiles($root, $relative, &$listfiles, &$listdirs)
 {
     $files = $this->sftp->rawlist($root . '/' . $relative);
     if ($files === false) {
         return;
     }
     foreach ($files as $name => $raw) {
         if ($name != '.' && $name != '..') {
             if ($raw['type'] == NET_SFTP_TYPE_DIRECTORY) {
                 $listdirs[$relative . '/' . $name] = $raw;
                 $this->getFiles($root, $relative . '/' . $name, $listfiles, $listdirs);
             } else {
                 $listfiles[$relative . '/' . $name] = $raw;
             }
         }
     }
 }
Esempio n. 3
0
 /**
  * Lists files and directories
  *
  * @param  string $path
  * @return mixed
  */
 public function ls($path)
 {
     if (false === $this->isConnected()) {
         $this->connectAndLogin();
     }
     $list = $this->sftp->rawlist($path);
     $retval = array();
     if (false === $list) {
         return $retval;
     }
     foreach ($list as $fileOrDirectory => $info) {
         if ('..' === $fileOrDirectory || '.' === $fileOrDirectory) {
             continue;
         }
         $retval[$fileOrDirectory] = array('type' => 2 == $info['type'] ? 'directory' : 'file', 'mtime' => new \DateTime('@' . $info['mtime']));
     }
     return $retval;
 }