Teszteléshez, jegyzettömb programunkkal, hozzunk létre egy szoveg-fix elnevezésű, és TXT kiterjesztésű fájlt, ugyan azon mappába, melybe a php fájlok is lesznek
A szoveg_fix.txt fájlunkba, írjuk be a következő sorokat, és mentés után zárjuk is be.
Egy ABCDE,Kettő ABC,Három ABC,Négy ABCD,Öt ABCDEF,Hat ABCDE,Hét ABCDE,Nyolc ABC,Kilenc AB,Tíz ABCDE,
<b>Ez a második szövegsor,</b> ez a fájl, teszt szöveget tartalmaz.
<b>Ez a harmadik szövegsor.</b> Az első sorba írt szövegek hossza vesszőtől-vesszőig, betűk+szóköz+vessző = 10 stringet, azaz karakterláncot tartalmaz.
<b>Ez a negyedik szövegsor.</b> A szövegsorba, tetszőleges HTML - jelölőelemeket is beírhatunk.<br /> Ez a szövegsor is, a negyedik szövegsorhoz tartozik, mert a szövegsor írásakor, nem ütöttük le az ENTER billentyűt, csak eléja helyeztünk egy sorlezásó utasítást.
<?php $mf =fopen("szoveg_fix.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") $fread_olvas = fread($mf, 10); //Első 10 bájt beolvasása. echo $fread_olvas; //A beolvasott bájtok kiíratása. fclose ($mf); //Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Egy ABCDE, |
<?php $mf =fopen("szoveg_fix.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") $fread_olvas01 = fread($mf, 10); //Első 10 karakterlánc beolvasása. $fread_olvas02 = fread($mf, 160); //Következő 160 karakterlánc beolvasása. echo "$fread_olvas01 <br />"; //Elsőnek beolvasott karakterlánc kiíratása. echo "$fread_olvas02 <br />"; //Másodszor beolvasott karakterlánc kiíratása. fclose ($mf); //Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Egy ABCDE, Kettő ABC, Három ABC, Négy ABCD, Öt ABCDEF, Hat ABCDE, Hét ABCDE, Nyolc ABC, Kilenc AB, Tíz ABCDE, Ez a második szövegsor, ez a fájl, teszt sz |
<?php $mf =fopen("szoveg_fix.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") // Megnyitott fájl tartalmának kiolvasása, karakterenként. do {$egy_karakter = fread($mf, 1); $adatokbol .= $egy_karakter; } while ($egy_karakter) echo $adatokbol; fclose ($mf); //Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Folyamatos szövegsorként jeleníti meg, az általunk külön-külön sorba megírt szövegsorokat. Egy ABCDE, Kettő ABC, Három ABC, Négy ABCD, Öt ABCDEF, Hat ABCDE, Hét ABCDE, Nyolc ABC, Kilenc AB, Tíz ABCDE, Ez a második szövegsor, ez a fájl, teszt szöveget tartalmaz. Ez a harmadik szövegsor. Az első sorba írt szövegek hossza vesszőtől-vesszőig, betűk+szóköz+vessző = 10 |
<?php $mf =fopen("szoveg_fix.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") echo fgetc($mf); // Dokumentum első karaktere. fclose ($mf); //Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: E |
<?php $mf =fopen("szoveg_fix.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") echo fgetc($mf); // Dokumentum első karaktere. echo fgetc($mf); // Dokumentum második karaktere. echo fgetc($mf); // Dokumentum harmadik karaktere. fclose ($mf); //Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Egy |
<?php $mf =fopen("szoveg_fix.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") while (! feof ($mf)) // feof() függvény közli, hogy a fájlmutató, mikor ér a fájl tartalmának végére. { echo fgetc($mf); } fclose ($mf); // Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Egy ABCDE, Kettő ABC, Három ABC, Négy ABCD, Öt ABCDEF, Hat ABCDE, Hét ABCDE, Nyolc ABC, Kilenc AB, Tíz ABCDE, Ez a második szövegsor, ez a fájl, teszt szöveget tartalmaz. Ez a harmadik szövegsor. Az első sorba írt szövegek hossza vesszőtől-vesszőig, betűk+szóköz+vessző = 10 stringet, azaz karakterláncot tartalmaz. Ez a negyedik szövegsor. A szövegsorba, tetszőleges HTML - jelölőelemeket is beírhatunk. Ez a szövegsor is, a negyedik szövegsorhoz tartozik, mert a szövegsor írásakor, nem ütöttük le ENTER billentyűt, csak eléja helyeztünk egy sorlezásó utasítást. |
fgets(file,length)
A length, azaz hossz kötelező. Megadja, hogy hány bájtot olvasson be.
Az alapértelmezett beolvasási hossz = 1024 bájt.
<?php $mf =fopen("szoveg_fix.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. fclose ($mf); // Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Egy ABCDE, Kettő ABC, Három ABC, Négy ABCD, Öt ABCDEF, Hat ABCDE, Hét ABCDE, Nyolc ABC, Kilenc AB, Tíz ABCDE, |
<?php $mf =fopen("szoveg_fix.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") echo fgets($mf, 21); // 0-val kezdi a számlálást, ezért 20 string kiíratásához, 21-et kell beírni. fclose ($mf); // Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Egy ABCDE, Kettő AB |
<?php $mf =fopen("szoveg_fix.txt", "r"); // Munkafájl elérési útvonala. Megnyitása olvasásra (" r ") while (! feof ($mf)) //feof() függvény közli, hogy a fájlmutató, mikor ér a fájl tartalmának végére. { echo fgets($mf). "<br />"; } fclose ($mf); //Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Egy ABCDE, Kettő ABC, Három ABC, Négy ABCD, Öt ABCDEF, Hat ABCDE, Hét ABCDE, Nyolc ABC, Kilenc AB, Tíz ABCDE, Ez a második szövegsor, ez a fájl, teszt szöveget tartalmaz. Ez a harmadik szövegsor. Az első sorba írt szövegek hossza vesszőtől-vesszőig, betűk+szóköz+vessző = 10 stringet, azaz karakterláncot tartalmaz. Ez a negyedik szövegsor. A szövegsorba, tetszőleges HTML - jelölőelemeket is beírhatunk. Ez a szövegsor is, a negyedik szövegsorhoz tartozik, mert a szövegsor írásakor, nem ütöttük le ENTER billentyűt, csak eléja helyeztünk egy sorlezásó utasítást. |
<?php $mf ="szoveg_fix.txt"; // Munkafájl elérési útvonala. $szovegsor = file($mf); // A beolvasott sorokat, a $szovegsor nevű tömmbe írja. $sor01 = $szovegsor[0]; $sor02 = $szovegsor[1]; $sor03 = $szovegsor[2]; $sor04 = $szovegsor[3]; echo "$sor01 <br />"; echo "$sor02 <br />"; echo "$sor03 <br />"; echo "$sor04 <br />"; ?> |
Programunk eredménye: Egy ABCDE, Kettő ABC, Három ABC, Négy ABCD, Öt ABCDEF, Hat ABCDE, Hét ABCDE, Nyolc ABC, Kilenc AB, Tíz ABCDE, Ez a második szövegsor, ez a fájl, teszt szöveget tartalmaz. Ez a harmadik szövegsor. Az első sorba írt szövegek hossza vesszőtől-vesszőig, betűk+szóköz+vessző = 10 stringet, azaz karakterláncot tartalmaz. Ez a negyedik szövegsor. A szövegsorba, tetszőleges HTML - jelölőelemeket is beírhatunk. Ez a szövegsor is, a negyedik szövegsorhoz tartozik, mert a szövegsor írásakor, nem ütöttük le ENTER billentyűt, csak eléja helyeztünk egy sorlezásó utasítást. |
Tippek és megjegyzések
Megjegyzés: Ha fpassthru () egy bináris fájlt a Windows, ne feledje, hogy nyissa meg a fájlt bináris módban.
Tipp: Call rewind (), hogy a fájl mutatót az a fájl elején, ha már a fájlba.
Tipp: Ha csak azt, hogy a kiírási fájlok tartalmát a kimeneti puffer, anélkül, hogy módosítani, használja a readfile () függvényt.
fpassthru(file)
file Required. Specifies the open file or resource to read from
fájl szükséges. Megadja a fájl megnyitása vagy az erőforrás olvasni
Dump index page of a www server:, Dump index oldal a www szerver: <?php $file = fopen("http://www.example.com","r"); fpassthru($file); ?>
<?php $mf = fopen("szoveg_fix.txt","r"); echo fpassthru($mf); // Tartalom kiíratása. fclose($mf); //Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Egy ABCDE, Kettő ABC, Három ABC, Négy ABCD, Öt ABCDEF, Hat ABCDE, Hét ABCDE, Nyolc ABC, Kilenc AB, Tíz ABCDE, Ez a második szövegsor, ez a fájl, teszt szöveget tartalmaz. Ez a harmadik szövegsor. Az első sorba írt szövegek hossza vesszőtől-vesszőig, betűk+szóköz+vessző = 10 stringet, azaz karakterláncot tartalmaz. Ez a negyedik szövegsor. A szövegsorba, tetszőleges HTML - jelölőelemeket is beírhatunk. Ez a szövegsor is, a negyedik szövegsorhoz tartozik, mert a szövegsor írásakor, nem ütöttük le ENTER billentyűt, csak eléja helyeztünk egy sorlezásó utasítást.636 |
<?php $mf = fopen("szoveg_fix.txt","r"); // Egy szövegsor beolvasása az fgets() fügvénnyel. Fájpozíció-jelző, az első sor mögé kerül. // Az alapértelmezett max beolvasási hossz = 1024 bájt, kb 500 string. De, rövidebb hossz értéket is megadhatunk. fgets($mf); echo fpassthru($mf); // Fájpozíció-jelző, az első sor mögé került, Ezért, az első sor utáni tartalom kerül kiíratása. fclose($mf); //Megnyitott munkafájl bezárása. ?> |
Programunk eredménye: Ez a második szövegsor, ez a fájl, teszt szöveget tartalmaz. Ez a harmadik szövegsor. Az első sorba írt szövegek hossza vesszőtől-vesszőig, betűk+szóköz+vessző = 10 stringet, azaz karakterláncot tartalmaz. Ez a negyedik szövegsor. A szövegsorba, tetszőleges HTML - jelölőelemeket is beírhatunk. Ez a szövegsor is, a negyedik szövegsorhoz tartozik, mert a szövegsor írásakor, nem ütöttük le ENTER billentyűt, csak eléja helyeztünk egy sorlezásó utasítást.519 |
Általunk meghatározott értékkel előre, azaz beljebb mozgatja a fájlpozíció-jelzőt, azaz mutatót.
<?php $mf= fopen("szoveg_fix.txt", "r"); fseek($mf,4); // Tartalmi rész beolvasásának, kezdő pozícióját határozzuk meg. $karakter= fgetc($mf); // Az fgetc() függvény, a karakterláncból egyetlen karaktert olvas be, jelen esetben a 5-ik karaktert. echo $karakter; fclose($mf); //Lezárjuk a megnyított fájlt. ?> |
Programunk eredménye: A |
Vissza mozgatja a fájlpozíció-jelzőt, azaz mutatót, a tartalmi rész elejére (0-ik pozícióba).
<?php $mf= fopen("szoveg_fix.txt", "r"); fseek($mf,60); // Tartalmi rész beolvasásának kezdő pozícióját, a 60-ik karakterlánc mögé helyezzük. $karakter= fgetc($mf); // Az fgetc() függvény, a karakterláncból egyetlen karaktert olvas be, jelen esetben a 61-ik karaktert. echo $karakter; rewind($mf); // rewind() függvény, a fájlpozíció-mutatót, visszaállítja a fájl elejére. $karakter= fgetc($mf); // Fájlpozíció-mutatót visszaállítottuk, így az első karaktert írathatjuk ki. echo $karakter; rewind($mf); // Fájlpozíció-mutatót, ismét visszaállítjuk a fájl elejére. fseek($mf,14); // Fájlpozíció-mutató pozícióját most, a 14-ik karakterlánc mögé helyezzük. $karakter= fgetc($mf); // A karakterláncból egyetlen karaktert olvasunk be, jelen esetben a 15-ik karaktert. echo $karakter; fclose($mf); //Lezárjuk a megnyított fájlt. ?> |
Programunk eredménye: A 61-ik karakter = a Az első karakter = E Az 15-ik karakter = t |
<?php $mf= fopen("szoveg_fix.txt", "r"); // Megnyítjuk a munka-fájlt, olvasásra (" r "). echo "Fájlpozíció-mutató kezdeti pozíciója = ".ftell($mf); // Kiíratjuk a fájlpozíció-mutató, kezdeti pozícióját. fseek($mf,"15"); // Módosítjuk a fájlpozíció-mutató pozícióját, a karakterlánc 15-ik eleme mögé. echo "Fájlpozíció-mutató módosított pozíciója = ".ftell($mf); // Kiíratjuk a fájlpozíció-mutató, módosított pozícióját. fclose($mf); // Lezárjuk a megnyított munka-fájlt. ?> |
Programunk eredménye: Fájlpozíció-mutató kezdeti pozíciója = 0 Fájlpozíció-mutató módosított pozíciója = 15 |