/** * Parse one list item. * Overriding this method, use * parent::parseItem([ 'src' => $src, 'dest' => $dest]); * at the end, and do not return item. * * @return Parsed item or NULL if no item parsed. */ public function parseItem($item = null) { if (!isset($item)) { $item = parent::parseItem(); if (!isset($item)) { return; } } $dir = dirname($item['dest']); if (!file_exists($dir)) { mkdir($dir, 0775, true); } $f = fopen($item['src'], 'r'); file_put_contents($item['dest'], $f); fclose($f); }
/** * ファイルのリストを再帰的に得る * * @param string $dir * * @return \ArrayObject * * @throws FtpException * @throws TransportException */ public function getRecursiveList($dir) { $list = $this->_getlist(__FUNCTION__, 'LIST -R', $dir, 'A'); $parser = new ListParser(); return $parser->parseByArray($dir, $list); }