Bug #76814 [Nab]: file_get_contents fail when maxlen is given null value
| From: | adrien dot blandin at gmail dot com | Date: | Thu, 30 Aug 2018 12:06:49 +0000 |
| Subject: | Bug #76814 [Nab]: file_get_contents fail when maxlen is given null value | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-216807@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76814&edit=1
ID: 76814
User updated by: adrien dot blandin at gmail dot com
Reported by: adrien dot blandin at gmail dot com
Summary: file_get_contents fail when maxlen is given null
value
Status: Not a bug
Type: Bug
Package: Filesystem function related
Operating System: Debian
PHP Version: 7.1.21
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
You're absolutely right. I get the signature from the auto-completion feature of my IDE
(PHPStorm). It seems that they have an error and I didn't notice the difference with the
manual.
All my apologies.
Previous Comments:
------------------------------------------------------------------------
[2018-08-30 09:49:32] cmb@php.net
> Signature of file_get_contents is ($filename, $use_include_path
> = false, $context = null, $offset = 0, $maxlen = null)
Where did you get this idea from? The PHP manual[1] says the
signature is:
| string file_get_contents ( string $filename [, bool
| $use_include_path = FALSE [, resource $context [, int $offset = 0
| [, int $maxlen ]]]] )
So, the $maxlen parameter doesn't have a default; either pass an
argument, or not.
[1] <http://php.net/manual/en/function.file-get-contents.php>
------------------------------------------------------------------------
[2018-08-30 08:00:38] adrien dot blandin at gmail dot com
Description:
------------
Signature of file_get_contents is ($filename, $use_include_path = false, $context = null, $offset =
0, $maxlen = null) so null is an allowed value for maxlen.
Yet, when I explicitly gave the default values in my call: file_get_contents($filename, false, null,
0, null), no content is found.
If I call the function with only the filename (so default values will be used too), content is
found.
If I explicitly gave default values for all parameters except maxlen, content is found.
Test script:
---------------
echo 'default: ' . strlen(file_get_contents($filename)) . PHP_EOL;
echo 'without maxlen: ' . strlen(file_get_contents($filename, false, null, 0)) . PHP_EOL;
echo 'with maxlen: ' . strlen(file_get_contents($filename, false, null, 0, null)) .
PHP_EOL;
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=76814&edit=1