Függvény neve | Leírás |
---|---|
opendir | Mappák, könyvtárak megnyitására szolgáló függvény |
readdir | Megnyitott mappa, azaz, könyvtár tartalmának listázása. |
is_readable | Ellenőrzi, hogy a megadott fájlnév olvasható-e: |
is_file | Megadott fájlnév, rendes fájl-e. |
file_exists | Megadott URL címen, létezik a keresett fájl? |
filesize | Fájl méretének lekérdezésére szolgáló függvény. |
fopen | Fájl megnyitása olvasásra vagy írásra. |
fgets | Adatok kiolvasása egy fájlból. Alapértelmezett beolvasási hossz = 1024 bájt. |
ftruncate | Fájl csonkolása meghatározott méretre. |
File, azaz, fájlkezelési műveletekről bővebben. Katt ide!
$Konyvtar = opendir('URL'); <?php $Konyvtar = opendir('URL'); ?> |
Az opendir('URL') függvénnyel beazonosított mappa (könyvtár) tartalmának lekérdezése:
<?php
$Konyvtar = opendir('URL');
while(false!==($mfnev = readdir($Konyvtar) ) ) { $MappaAdatok[] = $mfnev; }
closedir($Konyvtar);
// A $MappaAdatok tömb, adatainak kiíratása.
foreach($MappaAdatok as $i => $adat) { echo $i.'---'.$adat.'<br>'; }
?>
|
Ha a lekérdezett mappa további mappákat és fájlokat is tartalmaz, külön-külön válogathatjuk a mappákat és fájlokat.
<?php $Konyvtar = opendir('URL'); while(false!==($mfnev = readdir($Konyvtar) ) ) { $MappaAdatok[] = $mfnev; } closedir($Konyvtar); // Fájlok kiválogatásához, kiterjesztések meghatározása. // Csak azon fájlok kellenek, melyek kiterjesztését meghatározzuk és változóhoz rendeljük. $k0=".htm"; $k1=".html"; $k2=".css"; $k3=".js"; $k4=".php"; $k5=".jpg"; $k6=".gif"; $k7=".png"; $k8=".mp3"; $k9=".mp4"; $k10=".vtt"; $k11=".dat"; $k12=".txt"; $k15=".docx"; $kDb=".db"; $kn0="error_log"; $Mappak = array(); // Mappákat tároló tömb $Fajlok = array(); // Fájlokat tároló tömb $Fajlok[0]="0"; $Mi=0; // Mappákat tároló tömbbnél, elemek sorsámozása. $Fi=0; // Fájlokat tároló tömbbnél, elemek sorsámozása. // Mappák és fájlok szétválogatása, külön-külön tömbökbe. foreach($MappaAdatok as $Tfindex => $ertek) { $KTn0=strcmp($kn0,$ertek); // Értéke: egyezésnél=0; ha nem egyeznek akkor=1; $KT = strstr($ertek, "."); // Kiterjesztés lekérdezése, stringben található pont és azt követő karakterek. if($k0==$KT OR $k1==$KT OR $k2==$KT OR $k3==$KT OR $k4==$KT OR $k5==$KT OR $k6==$KT OR $k7==$KT OR $k8==$KT OR $k9==$KT OR $k10==$KT OR $k11==$KT OR $k12==$KT OR $k15==$KT OR $kDb==$KT OR $KTn0==0) { $Fajlok[$Fi]=$ertek; $Fi=$Fi+1; } else { $Mappak[$Mi]=$ertek; $Mi=$Mi+1; } } // Mappák kiíratása. foreach($Mappak as $index => $almappak) { echo $index." ".$almappak."<br />"; } echo '<hr>'; // Fájlok kiíratása. foreach($Fajlok as $i => $file) { echo $i." ".$file."<br />"; } ?> |
Gyakorláshoz, hozzunk létre egy test.txt fájlt, és másoljuk be a következő szöveget: A test.txt file. Tartalma, php file function tesztelésére szólgál. Első mondat szövege. Második mondat szövege. Harmadik mondat szövege. Negyedik mondat szövege. Ötödik szöveg számokkal: 0,1,2,3,4,5,6,7,8,9 |
Annak ellenőrizése, hogy a megadott fájlnév olvasható-e:
<?php
$file = "test.txt";
if(is_readable($file)) { echo ("$file olvasható"); }
else { echo ("$file nem olvasható"); }
?>
Eredmény: |
A PHP egyes funkciói gyorsítótárazzák az adatokat, a jobb teljesítmény érdekében.
Ha egy fájlt többször ellenőrizni kell egy szkriptben, akkor a megfelelő eredmények elérése érdekében valószínűleg el akarjuk kerülni a gyorsítótárat.
Ehhez használjuk a clearstatcache () függvényt, mely törli a fájl állapotának gyorsítótárát.
Az is_file () függvény ellenőrzi, hogy a megadott fájlnév, rendes fájl-e.
Megjegyzés: <?php $file = "test.txt"; if(is_file($file)) { echo ("$file egy rendes fájl"); } else { echo ("$file nem rendes fájl"); } // Törölje a gyorsítótárat, ha ebben a szkriptben újra ellenőrizni akarja a fájlt. clearstatcache(); ?> Eredmény: |
Megadott URL címen és néven, létezik a keresett fájl?<?php $mf="./test.txt"; if(file_exists($mf)) // Létezik a keresett fájl? {echo "<b>A keresett fájl, létezik</b>";} else {echo "<b>A keresett fájl nem található a megadott helyen,<br /> vagy nem létezik.</b>";} ?> Eredmény: |
Meghatározza lekérdezett fájl méretét.<?php echo filesize("test.txt"); // Lekérdezett fájl mérete echo " bájt.<br />"; // Törölje a gyorsítótárat, ha a test.txt fájlt módosítja, és újból lekérdezi a méretét. clearstatcache(); ?> Eredmény bájt-ban: |
Az állománypozíció-jelzőt, a fájl elejére állítja. Az állományt, általunk meghatározott formában nyitja meg. ( r = olvasásra. Az r+ = írásra és olvasásra. ) A fread() függvénnyel kiolvasunk a test.txt fájl tartalmából annyi bájt-ot, amennyit meghatározunk, jelen esetben ez az érték "220" <?php $munka_fajl="./test.txt"; if (!($mf = fopen($munka_fajl, "r"))) {die ("A (z) $munka_fajl állomány nem nyitható meg.");} // Tartalmat változóhoz rendeljük, az adatok beolvasása(honnan, mennyi bajt); meghatározással. $adatok_beolvasasa = fread ($mf, 220); // A $adatok_beolvasasa változóban tárolt adatok, kiíratása. echo "<p><span class='sargah'>$adatok_beolvasasa</span></p>"; fclose($mf); // Eddigi munkamenet lezárása. ?> Eredmény: A test.txt file. Tartalma, php file function tesztelésére szólgál. Első mondat szövege. Második mondat szövege. Harmadik mondat szövege. Negyedik mondat szövege. Ötödik szöveg számokkal: 0,1,2,3,4,5,6,7,8,9 |
Az alapértelmezett beolvasási hossz = 1024 bájt. fgets(file) A hossz meghatározásával, beolvasási hossz értékét megváltoztathatjuk. fgets(file,100) <?php $mf = fopen("test.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") echo fgets($mf); // Az alapértelmezett beolvasási hossz = 1024 bájt. // echo fgets($mf,100); // Így: Meghatározott beolvasási hossz = 100 bájt. fclose ($mf); // Megnyitott munkafájl bezárása. ?> Eredmény, alapértelmezett beolvasási hossznál: |
PHP clearstatcache () Funkció Példa: 1. Lekérdezzük a fájl méretét. 2. Csonkoljuk a fájlt, meghatározott méretre. 3. Gyorsítótár törlése. 4. Újból lekérdezzük a fájl méretét. <?php echo filesize("test.txt"); // Lekérdezett fájl mérete echo "<br />"; $file = fopen("test.txt", "a+"); // Vigyázz! // A ftruncate() függvény, csonkolja a fájlt megadott méretig, és a többi tartalmat törli ftruncate($file,100); fclose($file); // Törölje a gyorsítótárat. clearstatcache(); // Ellenőrizze újra a fájlméretet. echo filesize("test.txt"); ?>220 Ez volt az eredeti mérete. 100 Ez lett a csonkolás utáni mérete. |
A test.txt fájl eredeti tartalma: (filesize mérete = 220 ) A test.txt file. Tartalma, php file function tesztelésére szólgál. Első mondat szövege. Második mondat szövege. Harmadik mondat szövege. Negyedik mondat szövege. Ötödik szöveg számokkal: 0,1,2,3,4,5,6,7,8,9 Csonkolás után a test.txt fájl tartalma ez lesz: (filesize mérete = 100 ) A test.txt file. Tartalma, php file function tesztelésére szólgál. Első mondat szövege. Másod |