php

Brug af glob () - funktionen i PHP

Brug af glob () - funktionen i PHP
glob () -funktion er en indbygget PHP-funktion, der bruges til at søge i de specifikke filer eller mapper baseret på mønsteret. Det returnerer fil- og mappenavnene i en matrix, der matcher mønsteret. Hvordan denne funktion kan bruges til at søge i de bestemte filer eller mapper vises i denne vejledning.

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 bibliotek
print_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.

Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...
Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...
Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...