3v4l.org

run code in 500+ PHP versions simultaneously
<?php $x = new class { public $context; public function rmdir(string $path, int $options = 0): bool { var_dump("rmdir: $path"); return true; } public function unlink(string $path, int $options = 0): bool { var_dump("unlink: $path"); return true; } public function url_stat(string $path, int $flags): array|false { var_dump("url_stat: $path"); return []; } }; stream_wrapper_register('test', get_class($x)); $dir = 'test://foo/bar'; var_dump(is_dir($dir)); var_dump(rmdir($dir)); var_dump(is_dir($dir)); var_dump(unlink($dir)); var_dump(is_dir($dir)); clearstatcache(); var_dump(is_dir($dir));
Output for 8.1.32 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.6
string(24) "url_stat: test://foo/bar" bool(false) string(21) "rmdir: test://foo/bar" bool(true) bool(false) string(22) "unlink: test://foo/bar" bool(true) bool(false) string(24) "url_stat: test://foo/bar" bool(false)

preferences:
43.3 ms | 870 KiB | 4 Q