Syntaks:
Syntaksen til glob () -funksjonen er gitt nedenfor. Denne funksjonen kan ta to argumenter. Det første argumentet tar mønsterverdien som skal brukes til å søke i filen og mappen. Det andre argumentet er valgfritt som brukes til å generere utdata på forskjellige måter. De vanlige symbolene som brukes til å definere mønsteret og de forskjellige typene flagg som kan brukes i det andre argumentet til denne funksjonen er beskrevet nedenfor.
array glob (streng $ mønster [, int $ flags = 0])Mest brukte symboler i mønsteret
Mønster | Hensikt |
---|---|
? | Den brukes til å matche nøyaktig ett tegn (hvilket som helst). |
* | Den brukes til å matche null eller flere tegn. |
\ | Den brukes til å unnslippe tegnene når GLOB_NOESCAPE-flagget brukes. |
[…] | Den brukes til å matche rekkevidden av tegn. |
Flagg verdier
Følgende flaggverdier kan brukes i det valgfrie argumentet for glob () -funksjonen.
Verdi | Hensikt |
---|---|
GLOB_MARK | Det legger til en skråstrek for hver returnerte vare. |
GLOB_NOSORT | Den returnerer usorterte filer som vises i katalogen. |
GLOB_NOCHECK | Den returnerer søkemønsteret hvis ingen treff blir funnet. |
GLOB_NOESCAPE | Den bruker tilbakeslag og angir ikke metategn. |
GLOB_BRACE | Det utvider tegnene fra en gruppe til å matche. |
GLOB_ONLYDIR | Den returnerer kataloglisten som bare samsvarer med mønsteret. |
GLOB_ERR | Den brukes til å stoppe når feilen oppstår. |
Eksempel 1: Les alle PHP-filer ved å bruke '*' symbolet
Følgende eksempel viser måten å søke i alle PHP-filer med gjeldende plassering ved hjelp av '*.php 'mønster. Opprett en PHP-fil med følgende skript.
Mønsteret vil søke i hvilket som helst filnavn med utvidelsen PHP. Funksjonens returverdi er en matrise som skrives ut som utdata.
// Skriv ut listen over tekstfiler i gjeldende katalogprint_r (glob ("*.php "));
?>
Produksjon:
Følgende utdata vises når du har kjørt skriptet fra serveren. Det viser at fem PHP-filer eksisterer på gjeldende plassering.
Eksempel 2: Les spesifikke tekstfiler ved å bruke '?'symbol
Følgende eksempel søker i alle tekstfiler som inneholder et filnavn på fem tegn. Opprett en PHP-fil med følgende skript.
De '?????.tekst' mønster brukes til å søke i tekstfilen med filnavnet med fem tegn. Utdataene fra glob () -funksjonen er en matrise som er lagret i variabelen, $ filer. Verdiene til denne variabelen skrives ut ved hjelp av foreachen Løkke.
// Les spesifikke tekstfilnavn for gjeldende plassering$ files = glob ("?????.tekst");
// Skriv ut filnavnene
foreach ($ files som $ file)
ekko "" . $ fil. "
";
?>
Produksjon:
Følgende utdata vises når du har kjørt skriptet fra serveren. Det viser at to tekstfiler eksisterer på gjeldende plassering i henhold til mønsteret.
Eksempel 3: Les alle filene med gjeldende plassering ved hjelp av loop
Følgende eksempel søker i alle typer filer fra gjeldende plassering og skriver ut filnavnene på hver linje ved hjelp av loop. '*.* ' mønster brukes i glob () -funksjonen for å søke i en hvilken som helst fil av hvilken som helst type. Den returnerte verdien til funksjonen er lagret i matrisen, $ filer. Deretter telles det totale antallet filer fra det søkte resultatet. for hver loop brukes til å skrive ut verdiene til matrisen i hver linje.
// Les alle filnavnene til gjeldende plassering$ files = glob ("*.* ");
// Telle totalt antall filer
$ count = count ($ files);
ekko "Totalt antall filer = $ teller
";
ekko "Filene er:
";
// Skriv ut filnavnene
foreach ($ files som $ file)
ekko "" . $ fil. "
";
?>
Produksjon:
Følgende utdata vises når du har kjørt skriptet fra serveren. Det viser at seks filer eksisterer på gjeldende plassering.
Eksempel 4: Søk fil som starter med det spesifikke tegnet
Følgende eksempel søker i PHP-filen som starter med tegnet 'g'. Opprett en PHP-fil med følgende skript.
'g *.php ' brukes som mønster for søking i filene. Som de foregående eksemplene lagres den returnerte verdien til glob () -funksjonen i en matrise som skrives ut senere ved hjelp av en foreach Løkke.
// Søk fil starter med 'g'$ files = glob ("g *.php ");
// Skriv ut filene
foreach ($ files som $ file)
ekko $ fil. "
";
?>
Produksjon:
Følgende utdata vises når du har kjørt skriptet fra serveren. Det viser at fire PHP-filer eksisterer på den nåværende plasseringen der filene starter med tegnet 'g'.
Eksempel 5: Les alle filer og mapper
Mønsteret som ble brukt i alle tidligere eksempler søkte bare i filene fra gjeldende plassering. Følgende eksempel viser måten å søke i alle filer og mapper med gjeldende plassering. Opprett en PHP-fil med følgende skript.
'*' brukes som et mønster i glob () -funksjonen for å søke i alle filer og mapper. De returnerte verdiene til funksjonen lagres i en matrise som skrives ut senere.
// Les alle filer og mapper med gjeldende plassering$ files = glob ("*");
// Skriv ut filene og mappene
foreach ($ filer som $ file)
ekko $ fil. "
";
?>
Produksjon:
Følgende utdata vises når du har kjørt skriptet fra serveren. Det viser at fem PHP-filer, tre tekstfiler og to mapper finnes på gjeldende plassering.
Konklusjon
Metodene for å søke i en hvilken som helst fil eller mappe vises i denne opplæringen ved hjelp av glob () -funksjonen til PHP. Filen kan søkes basert på utvidelsen, starttegnet eller ved å spesifisere totalt antall tegn. Forhåpentligvis vil bruken av glob () -funksjonen i PHP være tydeligere og enklere for leserne etter å ha praktisert eksemplene på denne veiledningen.