| 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 |