listFiles() public method

Method to return a listing of the contents of an archived file
public listFiles ( boolean $full = false ) : array
$full boolean
return array
示例#1
0
 public function testZip()
 {
     if (class_exists('ZipArchive', false)) {
         $a = new Archive('test.zip');
         unset($a);
         $a = new Archive('C:\\Projects\\..\\test.zip');
         unset($a);
         $a = new Archive(__DIR__ . '/../tmp/test.zip');
         $a->addFiles(array(__DIR__ . '/../tmp/access.txt', __DIR__ . '/../tmp/test.jpg', __DIR__ . '/TarTest.php', __DIR__ . '/../../../../../public/examples/assets'));
         $this->assertGreaterThan(1, count($a->adapter()->getDirs()));
         unset($a);
         $a = new Archive(__DIR__ . '/../tmp/test.zip');
         $a->addFiles(__DIR__ . '/./');
         unset($a);
         $a = new Archive(__DIR__ . '/../tmp/test.zip');
         $a->addFiles(__DIR__ . '/../tmp');
         $this->assertFileExists(__DIR__ . '/../tmp/test.zip');
         $this->assertGreaterThan(60000, $a->getSize());
         chmod(__DIR__ . '/../tmp/test.zip', 0777);
         unset($a);
         mkdir(__DIR__ . '/../tmp/test');
         mkdir(__DIR__ . '/../tmp/test/test');
         touch(__DIR__ . '/../tmp/empty');
         touch(__DIR__ . '/../tmp/test/empty');
         touch(__DIR__ . '/../tmp/test/test/empty');
         chmod(__DIR__ . '/../tmp/test', 0777);
         chmod(__DIR__ . '/../tmp/test/test', 0777);
         chmod(__DIR__ . '/../tmp/empty', 0777);
         chmod(__DIR__ . '/../tmp/test/empty', 0777);
         chmod(__DIR__ . '/../tmp/test/test/empty', 0777);
         $a = new Archive(__DIR__ . '/../tmp/test.zip');
         $a->addFiles(__DIR__ . '/../tmp/empty');
         $a->addFiles(__DIR__ . '/../tmp/test');
         $files = $a->listFiles();
         $files = $a->listFiles(true);
         $this->assertTrue(is_array($files));
         unset($a);
         if (file_exists(__DIR__ . '/../tmp/test.zip')) {
             unlink(__DIR__ . '/../tmp/test.zip');
         }
         if (file_exists(__DIR__ . '/../tmp/empty')) {
             unlink(__DIR__ . '/../tmp/empty');
         }
         $dir = new Dir(__DIR__ . '/../tmp/test');
         $dir->emptyDir();
         rmdir(__DIR__ . '/../tmp/test');
     }
 }
示例#2
0
 public function testTgzExtract()
 {
     $tar = false;
     $includePath = explode(PATH_SEPARATOR, get_include_path());
     foreach ($includePath as $path) {
         if (file_exists($path . DIRECTORY_SEPARATOR . 'Archive' . DIRECTORY_SEPARATOR . 'Tar.php')) {
             $tar = true;
         }
     }
     if ($tar && function_exists('gzcompress')) {
         $a = new Archive(__DIR__ . '/../tmp/test.tar');
         $a->addFiles(__DIR__ . '/../tmp');
         $a->compress();
         chmod(__DIR__ . '/../tmp/test.tar.gz', 0777);
         unset($a);
         $a = new Archive(__DIR__ . '/../tmp/test.tar.gz');
         mkdir(__DIR__ . '/../tmp/test');
         chmod(__DIR__ . '/../tmp/test', 0777);
         $files = $a->listFiles();
         $files = $a->listFiles(true);
         $this->assertTrue(is_array($files));
         $a->extract(__DIR__ . '/../tmp/test');
         $dir = new Dir(__DIR__ . '/../tmp/test');
         $this->assertGreaterThan(0, count($dir->getFiles()));
         $dir->emptyDir();
         rmdir(__DIR__ . '/../tmp/test');
         if (file_exists(__DIR__ . '/../tmp/test.tar')) {
             unlink(__DIR__ . '/../tmp/test.tar');
         }
         if (file_exists(__DIR__ . '/../tmp/test.tar.gz')) {
             unlink(__DIR__ . '/../tmp/test.tar.gz');
         }
     }
 }