PHP Directory Funktion Grundläggande PHP Directory Funktions Basics - Del 1 Inledning Du kan använda PHP för att få tillgång till en katalog, för att känna till innehållet (filer och underkataloger) i en katalog, för att skapa en katalog och ta bort en katalog. Jag visar dig hur man gör det i den här serien. Du behöver grundläggande kunskaper i PHP och HTML för att förstå denna serie; behöver du också grundläggande kunskaper i hantering av kataloger och filer med hjälp av operativsystemet.
Sättet programmering sker i dag har haft några tillägg till vad som var vanligt 12 år tillbaka. PHP är inte mer än 12 år gammal. PHP har funktioner som hanterar kataloger så det var vanligt med andra program mer än 12 år tillbaka och PHP har också funktioner för att hantera kataloger på nya sätt. PHP funktionsbeskrivningar jag ge dig i denna del av serien liknar fungera beskrivningar i andra datorspråk 12 år tillbaka. I del 2 av serien och framåt, kommer jag att beskriva PHP funktioner som har nya operativa funktioner.
Obs: Om du inte kan se koden, eller om du tror att något saknas i den här artikeln (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser. Krav för att testa kodexemplen För att testa kodexemplen i den här serien, måste du webbserver och en webbläsare. De flesta datorer har idag webbläsare, så har du förmodligen redan har en webbläsare.
Om du inte har tillgång till en server, kan du ladda ner en personlig webbserver gratis från Internet; bara söka på Internet för att få en; leta efter en som fungerar med PHP. Du kan också använda den berömda Apache-server i din dator. I själva verket är det vad jag använder i min dator för denna artikelserie. Naturligtvis måste du också ha installerat PHP i din serverdator (eller persondator). PHP kan erhållas kostnads från Internet. Denna del av serien I den här delen av serien, tittar vi på funktioner som används i PHP idag, och som används i andra språk mer än 12 år tillbaka.
Även om jag säger att dessa funktioner användes i andra språk, mer än 12 år tillbaka, var de inte används på exakt samma sätt; så gå inte till något annat språk och skriva exakt vad du ser här. Öppna och stänga en katalog i många språk, i dag och 12 år tillbaka, i syfte att få tillgång till en katalog, måste du göra vad de kallar "Öppna registret". Du kan sedan komma åt katalogen och gör vad du vill göra med innehållet. Efter allt som du gör vad de kallar, "Stäng registret". I PHP, öppnar en katalog innebär att få information om katalogen från disk till en minnesplats.
Denna information utesluter innehållet i filerna och det utesluter innehållet i underkataloger i katalogen av intresse. I PHP, är hänvisning till detta minnesplats ett exempel på vad som kallas en resurs. En resurs är en referens kan du inte använda när du använder andra referenser. Låt oss inte oroa dig mycket om det för denna serie. I PHP, kan du ringa hänvisningen till kataloginformation i minnet, en katalog Handle. Om du inte förstår PHP referens, kan du läsa min artikel med rubriken, PHP Reference.
För att få tillgång till den här artikeln, skriv bara titeln med mitt namn, Chrys i sökrutan på den här sidan och klicka på Sök. Om den här sidan har du Googles sökruta, använd den. I PHP, stänga katalogen innebär befria minnesplats i minnet. I denna del av serien, ska vi se hur man öppnar en katalog och hur man stänger den. Du använder PHP-funktionen, opendir () för att öppna en katalog och PHP-funktionen, closedir () för att stänga katalogen. Medan en katalog öppnas, kan du använda två PHP funktioner, som är ReadDir () och rewinddir () på kataloginformation i minnet.
Den ReadDir () funktionen används för att läsa innehållet katalog från information i minnet (inte från disk). Jag kommer inte att prata om rewinddir () funktionen i denna serie. När du använder opendir (), kan du sedan använda ReadDir () funktion, efter att du måste använda closedir () för att stänga katalogen. För resten av den här delen av serien, ska vi titta på dessa tre funktioner. Katalog och fil Exempel I rotkatalogen (c :) av datorn använder operativsystemet för att skapa en katalog med namnet, directory1. I denna katalog som skapas, skapa en annan katalog med namnet, directory2.
I directory2, skapa en ny katalog med namnet directory3. I directory3 skapa två underkataloger med namn, Dira och dirB. Även i detta directory3, använd din textredigerare för att skapa två filer; en med namn, Filea och en annan med namn, fileB. Så i directory3, har du 2 underkataloger och 2 filer. Vi ska använda denna inställning för kodexemplen i denna del av serien. Den opendir () Funktion Enkelt uttryckt, är syntaxen för opendir () funktion: resurs opendir (sträng $ bana) Argumentet är en sökväg som slutar med katalognamn av intresse; t.ex. c: /directory1 /directory2 /directory3.
Här är directory3 katalogen av intresse. Returvärdet för funktionen är en referens, just en resurs (kallas handtag) för kataloginformation i minnet. Det är i grunden vad det är att öppna en katalog; vi får se ett kodexempel kort. Den ReadDir () Funktion information katalogen i minnet har namnen på filer och underkataloger i den aktuella katalogen i disken. Den ReadDir () funktionen läser detta namn från informationen i minnet. Syntaxen för funktionen är: string ReadDir ([resurs $ dir_handle]) Funktionen tar resursen av den öppnade katalogen som argument och returnerar en sträng.
Den returnerar filnamnen och /eller katalognamn en efter en på följande sätt. Så snart katalogen öppnas katalogen hantera "poäng" till det första namnet på listan av kataloginformation i minnet. När ReadDir () funktionen kallas, är det första objektet läsa och sedan handtaget pekar sedan till nästa punkt. Anropa funktionen igen skulle läsa nästa punkt. För att läsa alla objekt (filnamn och katalognamn), måste du att ringa ReadDir () funktion och om igen. Namnet på objektet läsning returneras som en sträng.
Den closedir () Funktion När du är färdig med användningen av kataloginformation i minnet måste du stänga katalogen med closedir funktionen (). Syntaxen för att stänga katalogen är: void closedir ([resurs $ dir_handle]) Det tar resurs den öppnade katalogen som argument och returnerar ingenting. Ett exempel kod I denna kod exempel öppnar vi katalogen directory3 som du skapade och sedan läsa objekten i katalogen. Jag använder Windows XP SP2, Apache och PHP. I mitt system finns det faktiskt sex objekt (inte fyra som man kan tro). Två av dem är inte skapade av mig.
Den första punkten är en enda punkt och den andra är en dubbel prick, båda inte är skapad av mig. Läs följande kod. Spara den med namnet temp.php i ditt hem (domän) katalog på servern. Med Apache-server, är hemkatalogen kallas, htdocs. $ dirHandle = opendir ("c: /directory1 /directory2 /directory3"); $ firstItem = ReadDir ($ dirHandle); echo $ firstItem; echo "$ secondItem = ReadDir ($ dirHandle); echo $ secondItem; echo" $ thirdItem = ReadDir ($ dirHandle); echo $ thirdItem; echo "$ fourthItem = ReadDir ($ dirHandle); echo $ fourthItem; echo" $ fifthItem = ReadDir ($ dirHandle); echo $ fifthItem; echo "$ sixthItem = ReadDir ($ dirHandle); echo $ sixthItem; echo" closedir ($ dirHandle); ?> Använd din webbläsare för att köra filen, temp.
php. För att göra det du kanske måste skriva något i stil med http: //localhost/direct1/temp.php i adressfältet. Min server är i min dator, så jag har http: //localhost som min domän. Den första raden öppnar katalogen, directory3 av vägen, c: /directory1 /directory2 /directory3. Sex linjer följa denna första raden i koden. Vi skapade fyra artiklar i directory3. I systemet finns det förmodligen sex objekt. Den första är en prick. Den andra är en dubbel prick. I mitt system, nästa två är de två filerna och de två sista är de två kataloger.
De sex linjer som följer först i ovanstående kod, har varje två uttalanden. Den första av varje påstående läser ett objekt namn från directory3; den andra ekar namnet läsa till webbläsaren. Det sista uttalandet stänger katalogen. Utgången för min webbläsare, är. .. FileA.txt fileB.txt Dira dirB Du kanske inte vet hur många filer och underkataloger står i katalogen av intresse; Men du vill se alla namnen på de olika filer och underkataloger. Dessutom kan antalet filer och kataloger vara många. I det här fallet behöver du en while-slinga för att få alla namnen på filer och kataloger.
Följande kod löser problemet för ovanstående exempel (Katalogupplägget): $ dirHandle = opendir ("c: /directory1 /directory2 /directory3"); while (true == ($ fileOrdirName = ReadDir ($ dirHandle))) {echo $ fileOrdirName; echo "} closedir ($ dirHandle);>