|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2008-02-09 19:51 UTC] felipe@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 15:00:01 2025 UTC |
Description: ------------ fgets() returns a charecter when it fails to read from file because of following reasons: 1. file pointer already points to end of the file(file opened in mode) 2. File is opened in the write only mode Only applicable to php6. PHP Version: PHP 6.0.0-dev (cli) (built: Jul 18 2007 20:53:03) (GCOV) Copyright (c) 1997-2007 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2007 Zend Technologies OS: RHEL 5 Config : ./configure --enable-gcov Reproduce code: --------------- <?php $file_handle = fopen("test.txt", "w"); $data = "testing fgetc"; fwrite($file_handle, $data); // rewind the file pointer to begining of the file var_dump( rewind($file_handle) ); var_dump( ftell($file_handle) ); var_dump( feof($file_handle) ); // read from file var_dump( fgetc($file_handle) ); var_dump( ftell($file_handle) ); var_dump( feof($file_handle) ); fseek($file_handle, 0, SEEK_END); var_dump( fgetc($file_handle) ); fclose($file_handle); unlink("test.txt"); ?> Expected result: ---------------- bool(true) int(0) bool(false) bool(false) int(0) bool(false) bool(false) Actual result: -------------- bool(true) int(0) bool(false) string(1) "" int(0) bool(true) string(1) "" output when run using run-test.php: ----------------------------------- bool(true) int(0) bool(false) string(1) "?" int(0) bool(true) string(1) "?"