1--TEST-- 2Phar: rename_dir test tar-based 3--EXTENSIONS-- 4phar 5--INI-- 6phar.readonly=0 7phar.require_hash=0 8--FILE-- 9<?php 10include __DIR__ . '/files/tarmaker.php.inc'; 11$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.tar'; 12$alias = 'phar://' . $fname; 13 14$tar = new tarmaker($fname, 'none'); 15$tar->init(); 16$tar->addFile('.phar/stub.php', "<?php 17Phar::mapPhar('hio'); 18__HALT_COMPILER(); ?>"); 19 20$files = array(); 21$files['a/x'] = 'a'; 22 23foreach ($files as $n => $file) { 24 $tar->addFile($n, $file); 25} 26 27$tar->close(); 28 29include $fname; 30 31echo file_get_contents($alias . '/a/x') . "\n"; 32rename($alias . '/a', $alias . '/b'); 33echo file_get_contents($alias . '/b/x') . "\n"; 34echo file_get_contents($alias . '/a/x') . "\n"; 35?> 36--CLEAN-- 37<?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar'); ?> 38--EXPECTF-- 39a 40a 41 42Warning: file_get_contents(phar://%srename_dir.phar.tar/a/x): Failed to open stream: phar error: "a/x" is not a file in phar "%srename_dir.phar.tar" in %srename_dir.php on line %d 43