Olvasási teszt

 

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.

A megnyitott munkafájlból, adatok kiolvasása:

  1. fread() függvénnyel.
    $munkafajl= fopen("fájlnév.txt", "r"); // Fájl megnyitása, beolvasására.
    // Megnyitott fájlból, 20 karakterlánc kiolvasása.
    $kiolvasando = fread($munkafajl, 20);
    // Megnyitott fájlból, 1 karakter beolvasása.
    $kiolvasando = fread($munkafajl, 1);
    // Megnyitott fájl tartalmának kiolvasása, karakterenként.
    do {$egy_karakter = fread($munkafajl, 1); $adatokbol .= $egy_karakter; }
    while ($egy_karakter);

Beolvasás fread() függvénnyel.
<?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,

 

Beolvasás, fread() függvénny többszöri meghívásával.
<?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

 

Beolvasás, fread() függvénny és a do ciklussal.
Programunk mindaddig kiírja a szövegsort, még számot nem talál. További szövegrészt, nem olvassa be.
<?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

 


Az fgetc() függvény.
  1. fgetc() függvény.Egyszerre egy karaktert olvas be. 347-348
    Ha, elérte a beolvasandó fájl tartalmának utolsó karakterét, hamis (false) értéket ad eredményül.
    $mf= fopen("adatok.txt", "r"); // Fájl megnyitása, beolvasására.
    $egy_karakter = fgetc($mf); // Egy karakter beolvasása.
Egy karakter beolvasás, fgetc() függvénnyel.
<?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

 

Karakter beolvasás, fgetc() függvény többszöri meghívásával.
<?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

 

Beolvasás, fgetc() függvénnyel, és while ciklussal.
<?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.

 

Az fgets() függvénnyel.

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.

Beolvasás, fgets() függvénnyel.
<?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,

 

Beolvasás, fgets() függvénnyel, és a length, azaz hossz meghatározásával.
<?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

 

Beolvasás, fgets() függvénnyel, és while ciklussal.
<?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.

 

A megnyitott munkafájlból, teljes tartalom kiolvasása:

A file() függvény.
Beolvasás file() függvénnyel.
<?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.

 


A fpassthru() függvény

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);
?>
Beolvasás fpassthru() függvénnyel.
<?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

 

Beolvasás fpassthru() függvénnyel.
<?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

Fájlpozíció-jelző, azaz mutató mozgatása.

Az fseek() függvénnyel.

Általunk meghatározott értékkel előre, azaz beljebb mozgatja a fájlpozíció-jelzőt, azaz mutatót.

Mozgatás fseek() függvénnyel.
<?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
A rewind() függvénnyel.

Vissza mozgatja a fájlpozíció-jelzőt, azaz mutatót, a tartalmi rész elejére (0-ik pozícióba).

Mozgatás rewind() függvénnyel.
<?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
Az ftell() függvénnyel, kiírathatjuk a fájlpozíció-mutató aktuális pozícióját..
Mozgatás fseek() függvénnyel.
<?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