/** * {@inheritDoc} */ public function build($input, $prefix = '') { $prefix = rtrim($prefix, '/'); $parts = preg_split("/\\s+/", $input); $inputdate = sprintf("%s %s", $parts[0], $parts[1]); $date = \DateTime::createFromFormat('m-d-y H:iA', $inputdate); $name = implode(' ', array_slice($parts, 3)); if ($parts[2] == '<DIR>') { $size = 0; $file = new Directory(); } else { $size = $parts[2]; $file = new File(); } $file->setRealpath(sprintf("%s/%s", $prefix, $name))->setSize($size)->setMtime($date); return $file; }
/** * Finds a file on a given file instance * * @param File $file File instance * @return File Fetched file */ public function findFileByFile(File $file) { return $this->findFileByName($file->getRealpath()); }