Scan Directory PHP Directory Funksjon Basics - Del 5 Innledning Dette er en del 5 av min serie, PHP Directory Funksjon Basics. Det er mulig å få en liste over elementer i en katalog, uten å bruke opendir (), readdir () og closedir () funksjoner. PHP har scandir () -funksjonen for dette formål. I denne delen av serien viser jeg deg hvordan du bruker den scandir () -funksjonen. Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler i denne artikkelen (brutt link, bilde fraværende), bare kontakte meg på [email protected].
Det er, kontakt meg for den minste problemet du har om hva du leser. Tradisjonelle måten å skaffe katalogliste Følgende kode vil kopiere navnene på elementer fra en katalog til en matrise. $ arr = array (); if ($ dirHandle = opendir ("c: /directory1 /directory2 /directory3")) {while (true == ($ fileOrdirName = readdir ($ dirHandle))) {$ arr [] = $ fileOrdirName; } Closedir ($ dirHandle); } Else {echo "Directory kan ikke leses."; } Print_r ($ arr); ?> Dette er den tradisjonelle metoden for å lese elementer fra en katalog. Det er fortsatt nyttig. Den første setningen oppretter en matrise.
I det under-sløyfe, er navnene på de elementene leses inn i matrisen. Den siste setningen sender rekken innhold til nettleseren. Det jeg vil at du skal merke seg her er at du har opendir (), readdir () og closedir () funksjoner. Du har også while-loop. Den scandir () Funksjon scandir () -funksjonen gjør hva koden ovenfor gjør i en enkelt setning. Vel, ikke scandir () -funksjonen ikke har print_r () funksjon; det vil si, det gjør alt som koden ovenfor gjør unntatt utskrift til nettleseren.
Enkelt sagt, syntaksen til scandir () -funksjonen er, Her er banen til katalogen i en streng rekke scandir (string $ katalogen [, int $ sorting_order]) argumentet $ katalogen. Selvfølgelig banen i strengen slutter med navnet på katalogen av interesse. Funksjonen returnerer en matrise på suksess eller usant på fiasko. Hvis den returnerer false, kan du sende en feilmelding. Den scandir () -funksjonen har den fordelen at den returnerer matrisen med elementene sortert i alfabetisk rekkefølge. Den scandir () -funksjonen har valgfritt argument, $ sorting_order.
Når $ sorting_order er fraværende, er matrisen som returneres sortert alfabetisk i stigende rekkefølge. Når det er tilstede, det tar en verdi; i dette tilfellet matrisen som returneres er fortsatt sortert alfabetisk, men denne gangen i synkende rekkefølge. Følgende kode gjør alt hva koden ovenfor gjør med færre uttalelser: if (($ arr = scandir ("c: /directory1 /directory2 /directory3"!))) {Echo ". Directory kunne ikke leses"; } Print_r ($ arr); ?>