fopen('.', 'r') succeedes !?
| From: | Umberto Salsi | Date: | Mon, 02 Mar 2015 05:07:17 +0000 |
| Subject: | fopen('.', 'r') succeedes !? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-324561@lists.php.net to get a copy of this message | ||
Discovered today: fopen() opens '.' and '..' but fread() returns nothing
without errors nor end-of-file, so this loop:
$f = fopen('.', 'r');
if( $f === FALSE ) die("fopen failed");
$n = 0;
while(($s = fread($f, 10)) !== FALSE)
$n += strlen($s);
fclose($f);
echo "total bytes read: $n\n";
never ends! The same happens with '..'. Tested on PHP 5.6.3 and 7.0.0
under Slackware 14.1 32-bits. Under Vista, instead, fopen() fails as
expected.
Bug or specific feature under Linux?
Regards,
___
/_|_\ Umberto Salsi
\/_\/ www.icosaedro.it