xref: /PHP-8.2/ext/phar/tests/tar/033.phpt (revision 74859783)
1--TEST--
2Phar::chmod tar-based
3--EXTENSIONS--
4phar
5--INI--
6phar.readonly=0
7phar.require_hash=0
8--FILE--
9<?php
10
11$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.tar';
12$alias = 'phar://hio';
13
14$phar = new Phar($fname);
15$phar['a.php'] = '<?php echo "This is a\n"; include "'.$alias.'/b.php"; ?>';
16$phar->setAlias('hio');
17$phar->addEmptyDir('test');
18$phar->stopBuffering();
19
20try {
21    var_dump($phar['a.php']->isExecutable());
22    $phar['a.php']->chmod(0777);
23    var_dump($phar['a.php']->isExecutable());
24    $phar['a.php']->chmod(0666);
25    var_dump($phar['a.php']->isExecutable());
26    echo "test dir\n";
27    var_dump($phar['test']->isReadable());
28    $phar['test']->chmod(0000);
29    var_dump($phar['test']->isReadable());
30    $phar['test']->chmod(0666);
31    var_dump($phar['test']->isReadable());
32} catch (Exception $e) {
33    echo $e->getMessage() . "\n";
34}
35
36?>
37--CLEAN--
38<?php
39unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
40?>
41--EXPECT--
42bool(false)
43bool(true)
44bool(false)
45test dir
46bool(true)
47bool(false)
48bool(true)
49