Example #1
0
 /**
  * Импортирует файлы из FTP.
  *
  * Импортирует указанные файлы, находящиеся в FTP папке, в файловый архив.
  *
  * @return void
  *
  * @param array $files имена файлов для добавления в архив.  Если указанных
  * файлов в папке не окажется — ничего не произойдёт, они просто не добавятся
  * в архив.
  *
  * @param integer $parent_id идентификатор объекта, к которому следует
  * прикрепить добавленные файлы.
  */
 public static function getFilesFromFTP(array $files, $parent_id = null)
 {
     $path = self::getFTPRoot();
     $available = self::listFilesOnFTP();
     foreach ($files as $file) {
         $file = basename($file);
         if (in_array($file, $available) and is_readable($filename = $path . '/' . $file)) {
             $node = Node::create('file')->import($i = array('filename' => $file, 'tmp_name' => $filename, 'parent_id' => $parent_id), false);
             $node->save();
         }
         Context::killFile($filename);
     }
 }