3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dir = "./usr"; // 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.27 - 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(./usr) is not within the allowed path(s): (/tmp:/in:/etc) in /in/942Mj 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.26, 7.4.33, 8.0.0 - 8.0.13
Warning: filetype(): Lstat failed for ./usr. in /in/942Mj on line 8 filename: . : filetype: Warning: filetype(): Lstat failed for ./usr.. in /in/942Mj on line 8 filename: .. : filetype: Warning: filetype(): Lstat failed for ./usrshare in /in/942Mj on line 8 filename: share : filetype: Warning: filetype(): Lstat failed for ./usrbin in /in/942Mj on line 8 filename: bin : filetype: Warning: filetype(): Lstat failed for ./usrinclude in /in/942Mj on line 8 filename: include : filetype: Warning: filetype(): Lstat failed for ./usrlib in /in/942Mj on line 8 filename: lib : filetype: Warning: filetype(): Lstat failed for ./usrlib64 in /in/942Mj on line 8 filename: lib64 : filetype: Warning: filetype(): Lstat failed for ./usrlocal in /in/942Mj on line 8 filename: local : filetype: Warning: filetype(): Lstat failed for ./usrsbin in /in/942Mj on line 8 filename: sbin : filetype: Warning: filetype(): Lstat failed for ./usrsrc in /in/942Mj on line 8 filename: src : filetype:
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.2

preferences:
364.36 ms | 402 KiB | 468 Q