Syntaks:
Syntaksen for glob () -funktionen er angivet nedenfor. Denne funktion kan tage to argumenter. Det første argument tager den mønsterværdi, der skal bruges til at søge i filen og mappen. Det andet argument er valgfrit, der bruges til at generere output på forskellige måder. De almindelige symboler, der bruges til at definere mønsteret, og de forskellige typer flag, der kan bruges i det andet argument for denne funktion, er beskrevet nedenfor.
array glob (streng $ mønster [, int $ flags = 0])Mest anvendte symboler i mønsteret
Mønster | Formål |
---|---|
? | Det bruges til at matche nøjagtigt et tegn (ethvert). |
* | Det bruges til at matche nul eller flere tegn. |
\ | Det bruges til at undslippe tegnene, når GLOB_NOESCAPE-flag bruges. |
[…] | Det bruges til at matche rækkevidden af tegn. |
Flag værdier
Følgende flagværdier kan bruges i det valgfri argument for funktionen glob ().
Værdi | Formål |
---|---|
GLOB_MARK | Det tilføjer en skråstreg med hver returneret vare. |
GLOB_NOSORT | Det returnerer usorterede filer, der vises i biblioteket. |
GLOB_NOCHECK | Det returnerer søgemønsteret, hvis der ikke findes noget match. |
GLOB_NOESCAPE | Det bruger tilbageslag og citerer ikke metategn. |
GLOB_BRACE | Det udvider tegnene fra en gruppe til at matche. |
GLOB_ONLYDIR | Det returnerer kataloglisten, der kun matcher mønsteret. |
GLOB_ERR | Det bruges til at stoppe, når fejlen opstår. |
Eksempel 1: Læs alle PHP-filer ved hjælp af '*' symbolet
Følgende eksempel viser, hvordan man søger i alle PHP-filer med den aktuelle placering ved hjælp af '*.php 'mønster. Opret en PHP-fil med følgende script.
Mønsteret søger i ethvert filnavn med filtypen PHP. Funktionens returværdi er en matrix, der udskrives som output.
// Udskriv listen over tekstfiler i det aktuelle bibliotekprint_r (glob ("*.php "));
?>
Produktion:
Følgende output vises efter kørsel af scriptet fra serveren. Det viser, at der findes fem PHP-filer den aktuelle placering.
Eksempel 2: Læs specifikke tekstfiler ved hjælp af '?'symbol
Det følgende eksempel søger i alle tekstfiler, der indeholder et filnavn på fem tegn. Opret en PHP-fil med følgende script.
Det ''?????.txt ' mønster bruges til at søge i tekstfilen med filnavnet med fem tegn. Outputtet fra glob () -funktionen er en matrix, der er gemt i variablen, $ filer. Værdierne for denne variabel udskrives ved hjælp af foreach løkke.
// Læs specifikke tekstfilnavne på den aktuelle placering$ files = glob ("?????.txt ");
// Udskriv filnavne
foreach ($ filer som $ fil)
ekko "" . $ fil. "
";
?>
Produktion:
Følgende output vises efter kørsel af scriptet fra serveren. Det viser, at der findes to tekstfiler på den aktuelle placering i henhold til mønsteret.
Eksempel 3: Læs alle filer med den aktuelle placering ved hjælp af loop
Det følgende eksempel søger i alle typer filer fra den aktuelle placering og udskriver filnavnene i hver linje ved hjælp af loop. '*.* ' mønster bruges i glob () -funktionen til at søge i enhver fil af enhver type. Funktionens returnerede værdi er gemt i arrayet, $ filer. Derefter tælles det samlede antal filer fra det søgte resultat. for hver loop bruges til at udskrive værdierne for arrayet i hver linje.
// Læs alle filnavne på den aktuelle placering$ files = glob ("*.* ");
// Tæl det samlede antal filer
$ count = count ($ filer);
ekko "Total filer = $ tæller
";
ekko "Filerne er:
";
// Udskriv filnavne
foreach ($ filer som $ fil)
ekko "" . $ fil. "
";
?>
Produktion:
Følgende output vises efter kørsel af scriptet fra serveren. Det viser, at der findes seks filer den aktuelle placering.
Eksempel 4: Søg fil, der starter med det specifikke tegn
Det følgende eksempel søger i PHP-filen, der starter med tegnet 'g'. Opret en PHP-fil med følgende script.
'g *.php ' bruges som mønster til søgning i filerne. Som de foregående eksempler lagres den returnerede værdi af glob () -funktionen i en matrix, der udskrives senere ved hjælp af en foreach løkke.
// Søgefil start med 'g'$ files = glob ("g *.php ");
// Udskriv filerne
foreach ($ filer som $ fil)
echo $ -fil. "
";
?>
Produktion:
Følgende output vises efter kørsel af scriptet fra serveren. Det viser, at der findes fire PHP-filer på den aktuelle placering, hvor filerne starter med tegnet 'g'.
Eksempel 5: Læs alle filer og mapper
Det mønster, der blev brugt i alle tidligere eksempler, søgte kun i filerne fra den aktuelle placering. Følgende eksempel viser, hvordan man søger i alle filer og mapper med den aktuelle placering. Opret en PHP-fil med følgende script.
'*' bruges som et mønster i glob () -funktionen til at søge i alle filer og mapper. Funktionens returnerede værdier gemmes i et array, der udskrives senere.
// Læs alle filer og mapper med den aktuelle placering$ files = glob ("*");
// Udskriv filer og mapper
foreach ($ filer som $ fil)
echo $ -fil. "
";
?>
Produktion:
Følgende output vises efter kørsel af scriptet fra serveren. Det viser, at der findes fem PHP-filer, tre tekstfiler og to mapper på den aktuelle placering.
Konklusion
Metoderne til søgning i en hvilken som helst fil eller mappe vises i denne vejledning ved hjælp af glob () - funktionen af PHP. Filen kan søges baseret på udvidelsen, starttegnet eller ved at angive det samlede antal tegn. Forhåbentlig bliver brugen af glob () -funktionen i PHP klarere og lettere for læserne efter at have praktiseret eksemplerne på denne vejledning.