Beispiel #1
0
 /**
  * Extract archive
  *
  * @param \Symfony\Component\HttpFoundation\File\File $file
  * @param \Thelia\Core\Archiver\ArchiverInterface     $archiver
  *
  * @return \Symfony\Component\HttpFoundation\File\File First file in unarchiver
  */
 public function extractArchive(File $file, ArchiverInterface $archiver)
 {
     $archiver->open($file->getPathname());
     $extractpath = dirname($archiver->getArchivePath()) . DS . uniqid();
     $archiver->extract($extractpath);
     /** @var \DirectoryIterator $item */
     foreach (new \DirectoryIterator($extractpath) as $item) {
         if (!$item->isDot() && $item->isFile()) {
             $file = new File($item->getPathname());
             break;
         }
     }
     return $file;
 }