Citirea datelor dintr-un fișier, cunoștințe portal, portal de cunoștințe, învățământ la distanță

Citirea datelor dintr-un fișier

Dacă vrem să citim datele dintr-un fișier existent, o funcție fopen (). ca și în cazul înregistrării datelor. nu este suficient. Returnează doar un pointer la un fișier deschis, dar nu citește nici o linie din acest fișier. Prin urmare, pentru a citi datele dintr-un fișier, trebuie să utilizați una dintre funcțiile speciale: fișier, readfile. file_get_contents. fread. fgets, etc.







Funcția fread

Această funcție citește date dintr-un fișier. Poate fi folosit și pentru citirea datelor din fișiere binare, fără teama de a le distruge. Sintaxa fread () este:

Ca rezultat, funcția fread () returnează un șir cu informațiile citite din fișier.

După cum ați observat, în această funcție parametrul de lungime este obligatoriu. Prin urmare, dacă vrem să citim întregul fișier într-un șir, trebuie să știm lungimea acestuia. PHP poate calcula lungimea fișierului specificat. Pentru a face acest lucru, trebuie să utilizați funcția file size (nume fișier). În caz de eroare, această funcție revine false. Din păcate, aceasta poate fi utilizată numai pentru a obține dimensiunea fișierelor locale.

Exemplul 9.4. Să citim conținutul fișierului my_file.html

Exemplul 9.4. Folosind funcția fread ()

Pentru a citi conținutul unui fișier binar, de exemplu imagini, în sisteme cum ar fi Windows, este recomandat să deschideți fișierul utilizând pavilionul rb sau altele similare care conțin simbolul b la sfârșit.

Funcția file size () cachează rezultatele lucrărilor sale. Dacă schimbați conținutul fișierului my_file.html și rulați din nou scriptul de mai sus, rezultatul muncii sale nu se va schimba. Mai mult, dacă rulați un script care citește date din acest fișier utilizând altă funcție (de exemplu, fgetss), rezultatul poate fi ca și cum fișierul nu s-ar fi schimbat. Pentru a evita acest lucru, trebuie să ștergeți cache-ul static adăugând comanda clearstatcache () la codul programului;

Funcția Fgets

Folosind funcția fgets (), puteți citi o linie de text dintr-un fișier. Sintaxa acestei funcții este aproape aceeași cu cea a lui fread (). cu excepția faptului că lungimea liniei de citire este opțională:

Exemplul 9.5. Folosind funcția fgets ()

Ambele funcții, fread () și fgets (). opriți citirea datelor din fișier dacă se întâlnește sfârșitul fișierului. În PHP, există o funcție specială care verifică dacă pointerul poziției fișierului se uită la sfârșitul fișierului. Aceasta este funcția booleană feof (). ca parametru al căruia se transmite pointerul la conexiunea cu fișierul.

De exemplu, iată cum puteți citi toate liniile din fișierul my_file.html:

Funcția Fgetss

Există un fel de funcție fgets () - funcția fgetss (). De asemenea, vă permite să citiți un șir din fișierul specificat, dar elimină toate etichetele html găsite din acesta, cu excepția unor posibile excepții. Sintaxa lui fgetss () este:

Rețineți că aici lungimea argumentului este obligatorie.

Exemplul 9.6. Să avem un fișier numit my_file.html care citește:







Afișăm toate liniile din fișierul my_file.html. eliminând toate etichetele de la ei, cu excepția și :

Exemplul 9.6. Folosind funcția fgetss ()

Ca rezultat al acestui script, primim:

Grăbește-te și continuă

Funcția Fgetc

Firește, dacă puteți citi informații dintr-un rând de fișiere pe linie, atunci îl puteți citi și după caracter. Pentru aceasta, funcția fgetc () este destinată. Este ușor să ghici că sintaxa este următoarea:

Această funcție returnează un caracter din fișierul referit de indicatorul de fișier și o valoare calculată ca FALSE. dacă se întâlnește sfârșitul liniei.

De exemplu, puteți citi un fișier un singur fișier la un moment dat:

De fapt, pentru a citi conținutul unui fișier, nu este necesar să deschideți o conexiune cu el prin funcția fopen (). În PHP, există funcții care vă permit să faceți acest lucru folosind doar numele fișierului. Aceste funcții sunt readfile (), file () și file_get_contents (). Să luăm în considerare fiecare dintre ele în detaliu.

Funcția Readfile

Funcția readfile () citește un fișier al cărui nume îi este transmis ca parametru de nume de fișier și afișează conținutul acestuia pe ecran. Dacă argumentul use_include_path este TRUE. atunci căutarea unui fișier cu numele dat este efectuată și de directoarele incluse în calea include_path.

În program, această funcție returnează numărul de octeți (simboluri) din fișierul citit, iar în caz de eroare, FALSE. Mesajele de eroare din această funcție pot fi suprimate de către operatorul @.

Exemplul 9.7. Următorul script va afișa conținutul fișierului my_file1.html și mărimea acestui fișier. dacă există. În caz contrar, vom afișa mesajul nostru de eroare - linia "Eroare în fișierul de citire".

Exemplul 9.7. Folosind funcția readfile ()

Afișați imediat conținutul fișierului pe ecran nu este întotdeauna convenabil. Uneori trebuie să scrieți informații dintr-un fișier într-o variabilă pentru a efectua eventuale acțiuni cu acesta în viitor. Pentru a face acest lucru, puteți utiliza funcția file () sau file_get_contents ().

Fișier de fișiere

Funcția file () este utilizată pentru a citi informații dintr-un fișier într-o variabilă de matrice. Sintaxa este aceeași cu funcția readfile (). cu excepția faptului că, ca rezultat al lucrării, returnează o matrice:

Ce matrice returnează această funcție? Fiecare element al acestei matrice este un șir din fișier, informațiile din care citim (numele său este dat de numele fișierului argument). Caracterul de linie nouă este, de asemenea, inclus în fiecare dintre elementele matricei. În caz de eroare, fișierul funcțional (). precum și toate considerate deja, returnează false. Argumentul use_include_path suplimentar determină dacă doriți să căutați acest fișier în directoarele include_path. De asemenea, este posibil să se deschidă fișierele șterse utilizând această funcție dacă nu este interzisă de server. De la PHP 4.3, lucrul cu fișiere binare prin această funcție a devenit în siguranță.

De exemplu, avem fișierul my_file.html, care citește:

Am citit conținutul său folosind funcția file ():

Ca urmare, va fi afișat următorul mesaj:

Funcția file_get_contents

În versiunile PHP începând cu 4.3, a devenit posibilă citirea conținutului unui fișier într-un șir. Aceasta se face folosind funcția file_get_contents (). Ca și cele două funcții anterioare, ca parametri este nevoie de valoarea numelui fișierului și, probabil, de instrucțiunea de ao căuta în directoarele include_path. Pentru comanda, ne dăm încă sintaxa:

Această funcție este absolut identică cu funcția file (). numai returnează conținutul fișierului ca un șir. În plus, este sigur să procesați date binare și să puteți citi informații din fișiere șterse, dacă acest lucru nu este interzis de setările serverului.

Respectați respectul pe dosodkovі posilannya

Yakshcho tu tsikavit.

Prelegerea discută probleme legate de crearea fișierelor, citirea datelor dintr-un fișier, ștergerea unui fișier și verificarea prezenței unui fișier pe server. (Funcții fopen, fwrite, fclose, file, fget, unlink, file_exists.) Exemplu - încărcarea unui fișier pe server utilizând o interfață web.

PHP (pronunțat pee-eich-pi) este un limbaj de programare scripting conceput pentru a genera pagini HTML pe un server web și a lucra cu baze de date. Acum este susținută de majoritatea covârșitoare a reprezentanților gazdei. Inclus în LAMP - "standard" setat pentru crearea site-urilor web.







Trimiteți-le prietenilor: