3v4l.org

run code in 300+ PHP versions simultaneously
<?php function permission($filename) { $perms = fileperms($filename); if (($perms & 0xC000) == 0xC000) { $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { $info = 'p'; } else { $info = 'u'; } // владелец $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); // группа $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); // все $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function dir_list($dir) { if ($dir[strlen($dir)-1] != '/') $dir .= '/'; if (!is_dir($dir)) return array(); $dir_handle = opendir($dir); $dir_objects = array(); while ($object = readdir($dir_handle)) if (!in_array($object, array('.','..'))) { $filename = $dir . $object; $file_object = array( 'name' => $object, 'size' => filesize($filename), 'perm' => permission($filename), 'type' => filetype($filename), 'time' => date("d F Y H:i:s", filemtime($filename)) ); $dir_objects[] = $file_object; } return $dir_objects; } ?> call: <?php print_r(dir_list('/etc')); //echo file_get_contents( '/etc/issue' ); ?>
Output for git.master, git.master_jit
call: Warning: filesize(): open_basedir restriction in effect. File(/etc/mtab) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Jibqp on line 48 Warning: fileperms(): open_basedir restriction in effect. File(/etc/mtab) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Jibqp on line 5 Warning: filetype(): open_basedir restriction in effect. File(/etc/mtab) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Jibqp on line 50 Warning: filemtime(): open_basedir restriction in effect. File(/etc/mtab) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Jibqp on line 51 Array ( [0] => Array ( [name] => pacman.d [size] => 20 [perm] => drwxr-xr-x [type] => dir [time] => 25 October 2021 09:01:05 ) [1] => Array ( [name] => protocols [size] => 3171 [perm] => -rw-r--r-- [type] => file [time] => 18 September 2021 23:10:42 ) [2] => Array ( [name] => services [size] => 297891 [perm] => -rw-r--r-- [type] => file [time] => 18 September 2021 23:10:42 ) [3] => Array ( [name] => arch-release [size] => 0 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [4] => Array ( [name] => crypttab [size] => 722 [perm] => -rw------- [type] => file [time] => 31 May 2021 02:39:56 ) [5] => Array ( [name] => fstab [size] => 126 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [6] => Array ( [name] => group [size] => 14 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [7] => Array ( [name] => gshadow [size] => 12 [perm] => -rw------- [type] => file [time] => 31 May 2021 02:39:56 ) [8] => Array ( [name] => host.conf [size] => 73 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [9] => Array ( [name] => hosts [size] => 65 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [10] => Array ( [name] => issue [size] => 20 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [11] => Array ( [name] => ld.so.conf [size] => 117 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [12] => Array ( [name] => ld.so.conf.d [size] => 0 [perm] => drwxr-xr-x [type] => dir [time] => 31 May 2021 02:39:56 ) [13] => Array ( [name] => motd [size] => 0 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [14] => Array ( [name] => mtab [size] => [perm] => u--------- [type] => [time] => 01 January 1970 01:00:00 ) [15] => Array ( [name] => nsswitch.conf [size] => 328 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [16] => Array ( [name] => passwd [size] => 28 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [17] => Array ( [name] => profile [size] => 1020 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [18] => Array ( [name] => profile.d [size] => 18 [perm] => drwxr-xr-x [type] => dir [time] => 24 October 2021 13:19:16 ) [19] => Array ( [name] => resolv.conf [size] => 65 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [20] => Array ( [name] => securetty [size] => 139 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [21] => Array ( [name] => shadow [size] => 19 [perm] => -rw------- [type] => file [time] => 31 May 2021 02:39:56 ) [22] => Array ( [name] => shells [size] => 83 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [23] => Array ( [name] => skel [size] => 0 [perm] => drwxr-xr-x [type] => dir [time] => 31 May 2021 02:39:56 ) [24] => Array ( [name] => php.ini [size] => 789 [perm] => -rw-r--r-- [type] => file [time] => 12 August 2019 09:17:39 ) [25] => Array ( [name] => php_archive.ini [size] => 510 [perm] => -rw-r--r-- [type] => file [time] => 10 July 2016 11:29:11 ) )
Output for rfc.property-hooks
call: Warning: filesize(): open_basedir restriction in effect. File(/etc/mtab) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Jibqp on line 48 Warning: fileperms(): open_basedir restriction in effect. File(/etc/mtab) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Jibqp on line 5 Warning: filetype(): open_basedir restriction in effect. File(/etc/mtab) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Jibqp on line 50 Warning: filemtime(): open_basedir restriction in effect. File(/etc/mtab) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Jibqp on line 51 Array ( [0] => Array ( [name] => mtab [size] => [perm] => u--------- [type] => [time] => 01 January 1970 01:00:00 ) [1] => Array ( [name] => ld.so.conf.d [size] => 0 [perm] => drwxr-xr-x [type] => dir [time] => 31 May 2021 02:39:56 ) [2] => Array ( [name] => pacman.d [size] => 20 [perm] => drwxr-xr-x [type] => dir [time] => 25 October 2021 09:01:05 ) [3] => Array ( [name] => profile.d [size] => 18 [perm] => drwxr-xr-x [type] => dir [time] => 24 October 2021 13:19:16 ) [4] => Array ( [name] => skel [size] => 0 [perm] => drwxr-xr-x [type] => dir [time] => 31 May 2021 02:39:56 ) [5] => Array ( [name] => arch-release [size] => 0 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [6] => Array ( [name] => crypttab [size] => 722 [perm] => -rw------- [type] => file [time] => 31 May 2021 02:39:56 ) [7] => Array ( [name] => fstab [size] => 126 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [8] => Array ( [name] => group [size] => 14 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [9] => Array ( [name] => gshadow [size] => 12 [perm] => -rw------- [type] => file [time] => 31 May 2021 02:39:56 ) [10] => Array ( [name] => host.conf [size] => 73 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [11] => Array ( [name] => hosts [size] => 65 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [12] => Array ( [name] => issue [size] => 20 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [13] => Array ( [name] => ld.so.conf [size] => 117 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [14] => Array ( [name] => motd [size] => 0 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [15] => Array ( [name] => nsswitch.conf [size] => 328 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [16] => Array ( [name] => passwd [size] => 28 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [17] => Array ( [name] => php.ini [size] => 789 [perm] => -rw-r--r-- [type] => file [time] => 12 August 2019 09:17:39 ) [18] => Array ( [name] => php_archive.ini [size] => 510 [perm] => -rw-r--r-- [type] => file [time] => 10 July 2016 11:29:11 ) [19] => Array ( [name] => profile [size] => 1020 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [20] => Array ( [name] => protocols [size] => 3171 [perm] => -rw-r--r-- [type] => file [time] => 18 September 2021 23:10:42 ) [21] => Array ( [name] => resolv.conf [size] => 65 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [22] => Array ( [name] => securetty [size] => 139 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) [23] => Array ( [name] => services [size] => 297891 [perm] => -rw-r--r-- [type] => file [time] => 18 September 2021 23:10:42 ) [24] => Array ( [name] => shadow [size] => 19 [perm] => -rw------- [type] => file [time] => 31 May 2021 02:39:56 ) [25] => Array ( [name] => shells [size] => 83 [perm] => -rw-r--r-- [type] => file [time] => 31 May 2021 02:39:56 ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
51.05 ms | 413 KiB | 8 Q