3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dir = "."; // Open a known directory, and proceed to read its contents if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "filename: $file : filetype: " . filetype($dir . $file) . "\n"; } closedir($dh); } }
Output for 7.4.26 - 7.4.32, 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Warning: is_dir(): open_basedir restriction in effect. File(.) is not within the allowed path(s): (/tmp:/in:/etc) in /in/l8bJG on line 5
Output for 5.2.3 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.25, 7.4.33, 8.0.0 - 8.0.13
filename: . : filetype: dir Warning: filetype(): Lstat failed for ... in /in/l8bJG on line 8 filename: .. : filetype: Warning: filetype(): Lstat failed for .var in /in/l8bJG on line 8 filename: var : filetype: Warning: filetype(): Lstat failed for .dev in /in/l8bJG on line 8 filename: dev : filetype: Warning: filetype(): Lstat failed for .run in /in/l8bJG on line 8 filename: run : filetype: Warning: filetype(): Lstat failed for .etc in /in/l8bJG on line 8 filename: etc : filetype: Warning: filetype(): Lstat failed for .tmp in /in/l8bJG on line 8 filename: tmp : filetype: Warning: filetype(): Lstat failed for .sys in /in/l8bJG on line 8 filename: sys : filetype: Warning: filetype(): Lstat failed for .proc in /in/l8bJG on line 8 filename: proc : filetype: Warning: filetype(): Lstat failed for .usr in /in/l8bJG on line 8 filename: usr : filetype: Warning: filetype(): Lstat failed for .bin in /in/l8bJG on line 8 filename: bin : filetype: Warning: filetype(): Lstat failed for .boot in /in/l8bJG on line 8 filename: boot : filetype: Warning: filetype(): Lstat failed for .home in /in/l8bJG on line 8 filename: home : filetype: Warning: filetype(): Lstat failed for .lib in /in/l8bJG on line 8 filename: lib : filetype: Warning: filetype(): Lstat failed for .lib64 in /in/l8bJG on line 8 filename: lib64 : filetype: Warning: filetype(): Lstat failed for .mnt in /in/l8bJG on line 8 filename: mnt : filetype: Warning: filetype(): Lstat failed for .opt in /in/l8bJG on line 8 filename: opt : filetype: Warning: filetype(): Lstat failed for .root in /in/l8bJG on line 8 filename: root : filetype: Warning: filetype(): Lstat failed for .sbin in /in/l8bJG on line 8 filename: sbin : filetype: Warning: filetype(): Lstat failed for .srv in /in/l8bJG on line 8 filename: srv : filetype: Warning: filetype(): Lstat failed for .in in /in/l8bJG on line 8 filename: in : filetype:
Output for 4.4.3 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.2
<br /> <b>Warning</b>: opendir(.) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: Permission denied in <b>/in/l8bJG</b> on line <b>6</b><br />
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.2
<br /> <b>Warning</b>: opendir(.): failed to open dir: Permission denied in <b>/in/l8bJG</b> on line <b>6</b><br />
Output for 4.3.0 - 4.3.1
<br /> <b>Warning</b>: opendir(.) [<a href='http://www.php.net/function.opendir'>function.opendir</a>]: failed to open dir: Permission denied in <b>/in/l8bJG</b> on line <b>6</b><br />

preferences:
379.98 ms | 402 KiB | 468 Q