PHP glob () em diretórios entre colchetes

Em uma máquina Windows, o seguinte script:

<?php

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

?>

Exibe isso:

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

Quando isso é esperado:

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

Eu entendi aquiloglobrata os colchetes como caracteres especiai quando encontrado nopattern parâmetro.

O padrão* corresponde a qualquer arquivo no diretório de trabalho atual. No entanto, glob () se comporta como se tivesse sido executado com o padrãoc:\\[test]\\*

Os colchetes são então interpretados como parte do padrão, quando na verdade eles fazem parte do diretóri

Églob deveria tratar ocaminh como parte dopadroniza? Prefiro pensar que ele deve usar o diretório atual como ponto de partida e depois processar opattern only.

(Tente resumir): Oglob função @ age como se estivesse recebendoc:\\[test]\\* como um padrão de correspondência e está tentando corresponderc:\t\*, c:\e\* ouc:\s\*. Mas o padrão é realmente* e não deveria tentar igualar nada disso.

questionAnswers(1)

yourAnswerToTheQuestion