3v4l.org

run code in 300+ PHP versions simultaneously
<?php function get_files($path){ $folder = opendir($path); while ($dat = readdir($folder)){ if ($dat != "." && $dat != ".." && (is_dir($path."/".$dat) || substr($dat,-3) == "jpg" || substr($dat,-3) == "gif" || substr($dat,-3) == "bmp" || substr($dat,-3) == "png")){ if (is_dir($path."/".$dat)){ $dirs[] = get_files($path."/".$dat); } else{ $files[] = $path."/".$dat; } } } for ($i=0; $i<sizeof($dirs); $i++){ $files2 = array_merge($files2,$dirs[$i]); } $array = array_merge($files,$files2); return $array; } $path = "../test"; // Pfad zum Startverzeichnis $amount = sizeof(get_files($path)); for ($i=0; $i < $amount; $i++){ $files = get_files($path); $size += filesize($files[$i]); }
Output for 8.3.0 - 8.3.6
Warning: opendir(): open_basedir restriction in effect. File(../test) is not within the allowed path(s): (/tmp:/in:/etc) in /in/6I3u5 on line 3 Warning: opendir(../test): Failed to open directory: Operation not permitted in /in/6I3u5 on line 3 Fatal error: Uncaught TypeError: readdir(): Argument #1 ($dir_handle) must be of type resource or null, false given in /in/6I3u5:4 Stack trace: #0 /in/6I3u5(4): readdir(false) #1 /in/6I3u5(28): get_files('../test') #2 {main} thrown in /in/6I3u5 on line 4
Process exited with code 255.
Output for 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18
Warning: opendir(): open_basedir restriction in effect. File(../test) is not within the allowed path(s): (/tmp:/in:/etc) in /in/6I3u5 on line 3 Warning: opendir(../test): Failed to open directory: Operation not permitted in /in/6I3u5 on line 3 Fatal error: Uncaught TypeError: readdir(): Argument #1 ($dir_handle) must be of type resource or null, bool given in /in/6I3u5:4 Stack trace: #0 /in/6I3u5(4): readdir(false) #1 /in/6I3u5(28): get_files('../test') #2 {main} thrown in /in/6I3u5 on line 4
Process exited with code 255.
Output for 8.0.0 - 8.0.13
Warning: opendir(../test): Failed to open directory: No such file or directory in /in/6I3u5 on line 3 Fatal error: Uncaught TypeError: readdir(): Argument #1 ($dir_handle) must be of type resource or null, bool given in /in/6I3u5:4 Stack trace: #0 /in/6I3u5(4): readdir(false) #1 /in/6I3u5(28): get_files('../test') #2 {main} thrown in /in/6I3u5 on line 4
Process exited with code 255.
Output for 7.4.33
Warning: opendir(../test): failed to open dir: No such file or directory in /in/6I3u5 on line 3 Warning: readdir() expects parameter 1 to be resource, bool given in /in/6I3u5 on line 4 Notice: Undefined variable: dirs in /in/6I3u5 on line 16 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /in/6I3u5 on line 16 Notice: Undefined variable: files in /in/6I3u5 on line 20 Notice: Undefined variable: files2 in /in/6I3u5 on line 20 Warning: array_merge(): Expected parameter 1 to be an array, null given in /in/6I3u5 on line 20 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /in/6I3u5 on line 28
Output for 7.4.27 - 7.4.32
Warning: opendir(): open_basedir restriction in effect. File(../test) is not within the allowed path(s): (/tmp:/in:/etc) in /in/6I3u5 on line 3 Warning: opendir(../test): failed to open dir: Operation not permitted in /in/6I3u5 on line 3 Warning: readdir() expects parameter 1 to be resource, bool given in /in/6I3u5 on line 4 Notice: Undefined variable: dirs in /in/6I3u5 on line 16 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /in/6I3u5 on line 16 Notice: Undefined variable: files in /in/6I3u5 on line 20 Notice: Undefined variable: files2 in /in/6I3u5 on line 20 Warning: array_merge(): Expected parameter 1 to be an array, null given in /in/6I3u5 on line 20 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /in/6I3u5 on line 28
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.26
Warning: opendir(../test): failed to open dir: No such file or directory in /in/6I3u5 on line 3 Warning: readdir() expects parameter 1 to be resource, bool given in /in/6I3u5 on line 4 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /in/6I3u5 on line 16 Warning: array_merge(): Expected parameter 1 to be an array, null given in /in/6I3u5 on line 20 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /in/6I3u5 on line 28
Output for 7.2.0 - 7.2.34
Warning: opendir(../test): failed to open dir: No such file or directory in /in/6I3u5 on line 3 Warning: readdir() expects parameter 1 to be resource, boolean given in /in/6I3u5 on line 4 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /in/6I3u5 on line 16 Warning: array_merge(): Argument #1 is not an array in /in/6I3u5 on line 20 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /in/6I3u5 on line 28
Output for 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
Warning: opendir(../test): failed to open dir: No such file or directory in /in/6I3u5 on line 3 Warning: readdir() expects parameter 1 to be resource, boolean given in /in/6I3u5 on line 4 Warning: array_merge(): Argument #1 is not an array in /in/6I3u5 on line 20
Output for 5.2.3 - 5.2.17
Warning: opendir(../test): failed to open dir: No such file or directory in /in/6I3u5 on line 3 Warning: readdir(): supplied argument is not a valid Directory resource in /in/6I3u5 on line 4 Warning: array_merge(): Argument #1 is not an array in /in/6I3u5 on line 20 Warning: array_merge(): Argument #2 is not an array in /in/6I3u5 on line 20
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.2
<br /> <b>Warning</b>: opendir(../test) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory in <b>/in/6I3u5</b> on line <b>3</b><br /> <br /> <b>Warning</b>: readdir(): supplied argument is not a valid Directory resource in <b>/in/6I3u5</b> on line <b>4</b><br /> <br /> <b>Warning</b>: array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #1 is not an array in <b>/in/6I3u5</b> on line <b>20</b><br /> <br /> <b>Warning</b>: array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>/in/6I3u5</b> on line <b>20</b><br />
Output for 4.4.3 - 4.4.9
<br /> <b>Warning</b>: opendir(../test) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory in <b>/in/6I3u5</b> on line <b>3</b><br /> <br /> <b>Warning</b>: readdir(): supplied argument is not a valid Directory resource in <b>/in/6I3u5</b> on line <b>4</b><br />
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.2
<br /> <b>Warning</b>: opendir(../test): failed to open dir: No such file or directory in <b>/in/6I3u5</b> on line <b>3</b><br /> <br /> <b>Warning</b>: readdir(): supplied argument is not a valid Directory resource in <b>/in/6I3u5</b> on line <b>4</b><br />
Output for 4.3.0 - 4.3.1
<br /> <b>Warning</b>: opendir(../test) [<a href='http://www.php.net/function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory in <b>/in/6I3u5</b> on line <b>3</b><br /> <br /> <b>Warning</b>: readdir(): supplied argument is not a valid Directory resource in <b>/in/6I3u5</b> on line <b>4</b><br />

preferences:
323.37 ms | 402 KiB | 468 Q