/** * Импортирует файлы из 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); } }