Bug #79990 [Opn->Dup]: glob() returns duplicate values
Edit report at https://bugs.php.net/bug.php?id=79990&edit=1
ID: 79990
Updated by: cmb@php.net
Reported by: bonzura at yahoo dot co dot jp
Summary: glob() returns duplicate values
-Status: Open
+Status: Duplicate
Type: Bug
Package: Filesystem function related
Operating System: Windows10
PHP Version: 7.4.9
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
This is a duplicate of bug #36365. The fix for that bug cannot be
backported, because it breaks the ABI.
Previous Comments:
------------------------------------------------------------------------
[2020-08-18 14:58:58] bonzura at yahoo dot co dot jp
Description:
------------
glob() returns duplicate values ââwhen the number of files is 65534 or more.
It occurs only in Windows PHP ver 7.4.9 or earlier, not in 8.0 or Linux.
When number of files increase, duplicate values also increase.
When I tried Test script $max=1000000, result is below.
--------
1000015
Duplicated test/0000065534.txt->2
Duplicated test/0000131069.txt->2
Duplicated test/0000196604.txt->2
Duplicated test/0000262139.txt->2
Duplicated test/0000327674.txt->2
Duplicated test/0000393209.txt->2
Duplicated test/0000458744.txt->2
Duplicated test/0000524279.txt->2
Duplicated test/0000589814.txt->2
Duplicated test/0000655349.txt->2
Duplicated test/0000720884.txt->2
Duplicated test/0000786419.txt->2
Duplicated test/0000851954.txt->2
Duplicated test/0000917489.txt->2
Duplicated test/0000983024.txt->2
Test script:
---------------
<?php
$max=65534;
$dir='test/';
for ($i=1;$i<=$max;$i++){
file_put_contents($dir.sprintf("%010d",$i).".txt",$i);
}
$files=glob($dir."*");
echo count($files)."\n";
$check=array_count_values($files);
foreach ($check as $key=>$value){
if ($value!=1){
echo "Duplicated ".$key."->".$value."\n";
}
}
?>
Expected result:
----------------
65534
Actual result:
--------------
65535
Duplicated test/0000065534.txt->2
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79990&edit=1
Thread (2 messages)