Exemplo n.º 1
0
 /**
  * Find the compression of a file
  *
  * @param LocalFileNodeInterface $file
  *
  * @return string
  */
 public function getCompression(LocalFileNodeInterface $file)
 {
     $cmd = "file --brief --uncompress --mime {$file->getPath()}";
     $process = $this->getProcess($cmd);
     $process->mustRun();
     $result = $process->getOutput();
     if (preg_match('/compressed-encoding=application\\/(?:x-)?(.+?);/i', $result, $matches)) {
         if ($this->factory->isCompression($matches[1])) {
             $this->log(LogLevel::DEBUG, "Found the compression for '{file}' as '{compression}'", ['file' => $file, 'compression' => $matches[1]]);
             return $matches[1];
         }
         return CompressionFactory::TYPE_UNKNOWN;
     }
     return CompressionFactory::TYPE_NONE;
 }
Exemplo n.º 2
0
 public function testIsCompression()
 {
     static::assertTrue($this->factory->isCompression(Gzip::NAME));
     static::assertTrue($this->factory->isCompression(Zip::NAME));
     static::assertFalse($this->factory->isCompression('lzop'));
 }