--TEST-- Phar: opendir test, subdirectory --SKIPIF-- --FILE-- "; $files = array(); $files['a'] = 'a'; $files['b/a'] = 'b'; $files['b/c/d'] = 'c'; $files['bad/c'] = 'd'; $manifest = ''; foreach($files as $name => $cont) { $len = strlen($cont); $manifest .= pack('V', strlen($name)) . $name . pack('VVVVC', $len, time(), $len, crc32($cont), 0x00); } $alias = 'hio'; $manifest = pack('VnV', count($files), 0x0800, strlen($alias)) . $alias . $manifest; $file .= pack('V', strlen($manifest)) . $manifest; foreach($files as $cont) { $file .= $cont; } file_put_contents(dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php', $file); include dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php'; $dir = opendir('phar://hio/b'); while (false !== ($a = readdir($dir))) { var_dump($a); var_dump(is_dir('phar://hio/b/' . $a)); } ?> --CLEAN-- --EXPECT-- string(1) "a" bool(false) string(1) "c" bool(true)