Fájlok és könyvtárak php - szeretne egy weboldal

Fájlok és könyvtárak php

Fájlok és könyvtárak php - szeretne egy weboldal

Jó minden napszakban, helló. Ma szeretnék mondani néhány PHP funkciók dolgozni könyvtárak és a fájlrendszer. És mivel ez a legjobb módja a példákban ez nem hozta meg a szekrényben fordulok közvetlenül érintik őket.

Így a kihívás:

Kap egy listát a fájlokat az aktuális könyvtárban és szűrő elemek bizonyos fájl kiterjesztések. meghatározó egyidejűleg a méret a kiválasztott fájlok és természetesen jelenik meg a böngésző eredményeinket.

Nos, ez nem úgy tűnik, az élet méz, nézzük bonyolítja a feladat, és kap egy fájlok listája A könyvtárban rekurzívan.

Sőt, mi lenne, ha bennünk, kivéve a választott fájl könyvtár tartalmaz más könyvtárak, sőt azokon belül, újra és újra.

Itt van, ha jön a mentő és a rekurzió. azaz kezelő funkciója, hogy önmagát. Mint mondják hagyja, hogy a gép maga működik, hiszen a vas.

Itt van, hogyan csináltam:

Elemezzük lépésről lépésre a script kódot.
Eleinte leírja read2Dir () függvényt. ami valójában mindent megtesz a munkát.

Tart a következő paramétereket:

$ Konyvtar, amely azt fogja beolvasni off $ paraméter, amely meghatározza, hogy milyen típusú otsupa amikor kimenetre az adatokat a böngésző

Ezután a feltételes operátor, ha (ő csak írt egy kicsit másképp) ellenőrzi, hogy a perjel tartalmaz (/), a végén a könyvtár.

És ha van ilyen, akkor hagyni mindent, ahogy van, és egyébként add meg a végén.

És ha ez nem jön ki a függvény visszatér HAMIS. Nos, ha ez mind ugyanabban a könyvtárban, akkor a opendir () függvény kap egy könyvtárat későbbi felhasználásra, ami viszont segít a readdir () függvény, így egy elem ebben a leíró a könyvtárba.

A kapnak címtárbejegyzéseket fogunk whille ciklus, amíg a könyvtár bejegyzést létezik - azaz nem azonosan HAMIS. Vagy nagyon egyszerűen fogalmazva a ciklusban lesz tárgyak, mielőtt véget ér.

Felhívjuk figyelmét, hogy meg kell, hogy ellenőrizze az identitás.

Ennek eredménye, hogy kéne valami ilyesmit vonal - (dokumentumok / fajl.txt). Természetesen, ha a fogadott tételt egy fájl, nos, különben a kapott elem egy könyvtár, és így meg kell, hogy újra ellássa szkennelés.

Ehhez először basename () függvényt. vagy „..”, amely visszaadja a fájl nevét a megadott elérési út nem ellenőrzi, hogy a kapott elem. »«
Ha így kihagyja az iterációs ciklus whille a continue utasítás.

Következő egy függvényt definiálunk fájltípus () a fájltípust.
Ez a függvény egy lehetséges értékek: FIFO, char, dir, blokk, link, file vagy ismeretlen.

De a mi esetünkben mi érdekli tollko dir. és ha igen, akkor ez a futás és a rekurzió.

Ez megint hívjuk a read2Dir () függvényt. Csak ebben az időben, add az aktuális elem és a dokkok (Concatenate) a változó $ offset extra párnázással.

Nos, ha olvasásával kapott a könyvtár bejegyzést, majd ellenőrizze a fájl kiterjesztését. Hogy ez a legegyszerűbb módja annak, hogy ellenőrizze, megfelel-e a szükséges bővítés az utolsó három karakter.

Hozzák a substr () függvénnyel. amely visszaadja a húr. És azt hangsúlyozta, hogy Érdekelne, csak az utolsó 3 karakter.

Nos, miután meglehetősen egyszerű.
Ha a kiterjesztés megegyezik a kijelölt kapcsolattartó, akkor használja a fájlméretet () függvény. amely visszaállítja a fájl méretét byte-ban, vagy FALSE hiba esetén, megkapjuk a fájl mérete, és az echo megjeleníti a böngészőben.

Működött? Akkor ne felejtsük el, hogy kiadja a katalógusban leíró függvény closedir (). amely lezárja a patak társított katalógusban.


Itt van kapcsolva a funkció. Ennek oka lehet, például, kifejezetten kérni könyvtárban. Azért választottam a könyvtárat egy szinttel feljebb a könyvtár, amelyben a szkript fut.


Alternatív módon keresztül getcwd () függvény. Kotra visszaadja az aktuális könyvtárat.

Kísérlet az egészségre!

Készüljünk kérdéseire néhány „guru” a program, szeretném megjegyezni, hogy én szándékosan nem optimalizált kód ahogy maga a feladat nem ír az „ideális” kódot, és azt mutatják, amennyire csak lehetséges, talán valami megkettőzte önmagát funkciókat használnak dolgozni a fájlt motorok és könyvtárakat.

Ezen ma. Örömmel válaszolunk kérdéseire, ha van nekik. Viszontlátásra.

Kapcsolódó cikkek