PHP glob () en directorios entre corchetes

En una máquina Windows, el siguiente script:

<?php

mkdir("c:\\[test]");
file_put_contents("c:\\[test]\\test.txt", "some content");
chdir("c:\\[test]");
echo getcwd()."\n";
var_dump(glob('*'));

?>

Muestra esto:

C:\[test]
array(0) {
}

Cuando esto se espera:

C:\[test]
array(1) {
    [0]=>
    string(8) "test.txt"
}

Entiendo queglob trata los corchetes como caracteres especiales, cuando se encuentra en elpattern parámetro.

El patrón* coincide con cualquier archivo en el directorio de trabajo actual. Sin embargo, glob () se comporta como si se ejecutara con el patrónc:\\[test]\\*

Los corchetes se interpretan como parte del patrón, cuando de hecho son parte del directorio.

Esglob se supone que debe tratar a lacamin como parte de lamodel? Prefiero pensar que debería usar el directorio actual como punto de partida y luego procesar elpattern only.

(Intento de resumir): Elgloba función @ actúa como si estuviera recibiendoc:\\[test]\\* como patrón de coincidencia, y está intentando hacer coincidir cualquiera dec:\t\*, c:\e\* oc:\s\*. Pero el patrón es en realidad* y no debería estar tratando de igualar nada de eso.

Respuestas a la pregunta(2)

Su respuesta a la pregunta