3v4l.org

run code in 300+ PHP versions simultaneously
<?php // empty.txtは0バイトのファイル $fp = fopen("empty.txt", "r"); var_dump( feof($fp), fgets($fp), feof($fp) ); fclose($fp); $file = new SplFileObject("empty.txt", "r"); var_dump( $file->eof(), $file->fgets(), $file->eof() );
Output for 8.3.0 - 8.3.6
Warning: fopen(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C on line 5 Warning: fopen(empty.txt): Failed to open stream: Operation not permitted in /in/34Y9C on line 5 Fatal error: Uncaught TypeError: feof(): Argument #1 ($stream) must be of type resource, false given in /in/34Y9C:7 Stack trace: #0 /in/34Y9C(7): feof(false) #1 {main} thrown in /in/34Y9C on line 7
Process exited with code 255.
Output for 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18
Warning: fopen(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C on line 5 Warning: fopen(empty.txt): Failed to open stream: Operation not permitted in /in/34Y9C on line 5 Fatal error: Uncaught TypeError: feof(): Argument #1 ($stream) must be of type resource, bool given in /in/34Y9C:7 Stack trace: #0 /in/34Y9C(7): feof(false) #1 {main} thrown in /in/34Y9C on line 7
Process exited with code 255.
Output for 8.0.13
Warning: fopen(empty.txt): Failed to open stream: No such file or directory in /in/34Y9C on line 5 Fatal error: Uncaught TypeError: feof(): Argument #1 ($stream) must be of type resource, bool given in /in/34Y9C:7 Stack trace: #0 /in/34Y9C(7): feof(false) #1 {main} thrown in /in/34Y9C on line 7
Process exited with code 255.
Output for 7.3.32 - 7.3.33, 7.4.33
Warning: fopen(empty.txt): failed to open stream: No such file or directory in /in/34Y9C on line 5 Warning: feof() expects parameter 1 to be resource, bool given in /in/34Y9C on line 7 Warning: fgets() expects parameter 1 to be resource, bool given in /in/34Y9C on line 8 Warning: feof() expects parameter 1 to be resource, bool given in /in/34Y9C on line 9 bool(false) bool(false) bool(false) Warning: fclose() expects parameter 1 to be resource, bool given in /in/34Y9C on line 11 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(empty.txt): failed to open stream: No such file or directory in /in/34Y9C:13 Stack trace: #0 /in/34Y9C(13): SplFileObject->__construct('empty.txt', 'r') #1 {main} thrown in /in/34Y9C on line 13
Process exited with code 255.
Output for 7.3.0 - 7.3.31, 7.4.0 - 7.4.32
Warning: fopen(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C on line 5 Warning: fopen(empty.txt): failed to open stream: Operation not permitted in /in/34Y9C on line 5 Warning: feof() expects parameter 1 to be resource, bool given in /in/34Y9C on line 7 Warning: fgets() expects parameter 1 to be resource, bool given in /in/34Y9C on line 8 Warning: feof() expects parameter 1 to be resource, bool given in /in/34Y9C on line 9 bool(false) bool(false) bool(false) Warning: fclose() expects parameter 1 to be resource, bool given in /in/34Y9C on line 11 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C:13 Stack trace: #0 /in/34Y9C(13): SplFileObject->__construct('empty.txt', 'r') #1 {main} thrown in /in/34Y9C on line 13
Process exited with code 255.
Output for 7.0.19 - 7.0.33, 7.1.5 - 7.1.25, 7.2.0 - 7.2.33
Warning: fopen(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C on line 5 Warning: fopen(empty.txt): failed to open stream: Operation not permitted in /in/34Y9C on line 5 Warning: feof() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 7 Warning: fgets() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 8 Warning: feof() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 9 bool(false) bool(false) bool(false) Warning: fclose() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 11 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C:13 Stack trace: #0 /in/34Y9C(13): SplFileObject->__construct('empty.txt', 'r') #1 {main} thrown in /in/34Y9C on line 13
Process exited with code 255.
Output for 7.0.0 - 7.0.18, 7.1.0 - 7.1.4
Warning: fopen(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C on line 5 Warning: fopen(empty.txt): failed to open stream: Operation not permitted in /in/34Y9C on line 5 Warning: feof() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 6 Warning: fgets() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 6 Warning: feof() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 6 bool(false) bool(false) bool(false) Warning: fclose() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 11 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C:13 Stack trace: #0 /in/34Y9C(13): SplFileObject->__construct('empty.txt', 'r') #1 {main} thrown in /in/34Y9C on line 13
Process exited with code 255.
Output for 5.6.0 - 5.6.38
Warning: fopen(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc) in /in/34Y9C on line 5 Warning: fopen(empty.txt): failed to open stream: Operation not permitted in /in/34Y9C on line 5 Warning: feof() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 7 Warning: fgets() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 8 Warning: feof() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 9 bool(false) bool(false) bool(false) Warning: fclose() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 11 Fatal error: Uncaught exception 'RuntimeException' with message 'SplFileObject::__construct(): open_basedir restriction in effect. File(empty.txt) is not within the allowed path(s): (/tmp:/in:/etc)' in /in/34Y9C:13 Stack trace: #0 /in/34Y9C(13): SplFileObject->__construct('empty.txt', 'r') #1 {main} thrown in /in/34Y9C on line 13
Process exited with code 255.
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38
Warning: fopen(empty.txt): failed to open stream: No such file or directory in /in/34Y9C on line 5 Warning: feof() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 7 Warning: fgets() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 8 Warning: feof() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 9 bool(false) bool(false) bool(false) Warning: fclose() expects parameter 1 to be resource, boolean given in /in/34Y9C on line 11 Fatal error: Uncaught exception 'RuntimeException' with message 'SplFileObject::__construct(empty.txt): failed to open stream: No such file or directory' in /in/34Y9C:13 Stack trace: #0 /in/34Y9C(13): SplFileObject->__construct('empty.txt', 'r') #1 {main} thrown in /in/34Y9C on line 13
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Warning: fopen(empty.txt): failed to open stream: No such file or directory in /in/34Y9C on line 5 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 7 Warning: fgets(): supplied argument is not a valid stream resource in /in/34Y9C on line 8 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 9 bool(false) bool(false) bool(false) Warning: fclose(): supplied argument is not a valid stream resource in /in/34Y9C on line 11 Fatal error: Uncaught exception 'RuntimeException' with message 'SplFileObject::__construct(empty.txt): failed to open stream: No such file or directory' in /in/34Y9C:13 Stack trace: #0 /in/34Y9C(13): SplFileObject->__construct('empty.txt', 'r') #1 {main} thrown in /in/34Y9C on line 13
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Warning: fopen(empty.txt): failed to open stream: No such file or directory in /in/34Y9C on line 5 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 7 Warning: fgets(): supplied argument is not a valid stream resource in /in/34Y9C on line 8 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 9 bool(false) bool(false) bool(false) Warning: fclose(): supplied argument is not a valid stream resource in /in/34Y9C on line 11 Fatal error: Class 'SplFileObject' not found in /in/34Y9C on line 13
Process exited with code 255.
Output for 4.3.5 - 4.3.11, 4.4.0 - 4.4.9
Warning: fopen(empty.txt): failed to open stream: No such file or directory in /in/34Y9C on line 5 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 7 Warning: fgets(): supplied argument is not a valid stream resource in /in/34Y9C on line 8 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 9 bool(false) bool(false) bool(false) Warning: fclose(): supplied argument is not a valid stream resource in /in/34Y9C on line 11 Fatal error: Cannot instantiate non-existent class: splfileobject in /in/34Y9C on line 13
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Warning: fopen(empty.txt): failed to open stream: No such file or directory in /in/34Y9C on line 5 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 7 Warning: fgets(): supplied argument is not a valid stream resource in /in/34Y9C on line 8 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 9 NULL NULL NULL Warning: fclose(): supplied argument is not a valid stream resource in /in/34Y9C on line 11 Fatal error: Cannot instantiate non-existent class: splfileobject in /in/34Y9C on line 13
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Warning: fopen(empty.txt) [http://www.php.net/function.fopen]: failed to create stream: No such file or directory in /in/34Y9C on line 5 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 7 Warning: fgets(): supplied argument is not a valid stream resource in /in/34Y9C on line 8 Warning: feof(): supplied argument is not a valid stream resource in /in/34Y9C on line 9 NULL NULL NULL Warning: fclose(): supplied argument is not a valid stream resource in /in/34Y9C on line 11 Fatal error: Cannot instantiate non-existent class: splfileobject in /in/34Y9C on line 13

preferences:
331.81 ms | 402 KiB | 425 Q