Gestionarea fișierelor în PHP

F

Introducere

Gestionarea fișierelor este o parte importantă a dezvoltării. Ele sunt utilizate atât pe partea client, cât și pe partea serverului. Un dezvoltator trebuie să înțeleagă, cel puțin, conceptele de bază ale gestionării fișierelor. 

PHP acceptă gestionarea fișierelor. Fiind un limbaj de programare pe partea de server, fișierele și directoarele pot fi gestionate pe un server web folosind PHP. În acest tutorial, vom discuta despre cum să gestionăm fișierele folosind PHP.

Gestionarea fișierelor în PHP

În PHP, putem efectua mai multe operațiuni diferite asupra fișierelor. De exemplu, putem deschide un fișier și efectua operațiuni precum citirea sau scrierea, sau ambele. Să începem prin a discuta despre cum să deschideți un fișier în diferite moduri.

Deschiderea și închiderea fișierelor

Primul pas este să deschideți un fișier. PHP oferă funcția fopen() pentru a deschide un fișier existent. Funcția fopen() are doi parametri:

FilenameSetați numele fișierului. Parametrul acceptă fișiere locale, dar și o adresă URL (dacă allow_url_fopen este setat la adevărat).
modSpecifică tipul de acces care va fi acordat (cu acces la citire sau acces la citire și scriere).

Un exemplu simplu: 


<?php
$file = fopen("demo.txt", "r");
?>


În codul de mai sus, „demo.txt” este numele fișierului, în timp ce „r” este modul.

PHP are mai multe moduri definite. Mai jos este lista tuturor modurilor disponibile în PHP.

  • r – Pentru a deschide fișierul pentru citire.
  • r+ – Pentru a deschide fișierul pentru citire și scriere.
  • w – Pentru a deschide fișierul pentru scriere. Acesta șterge conținutul fișierului și încearcă să creeze un fișier nou dacă acesta nu există.
  • w+ – Pentru a deschide fișierul de citire și scriere. Acesta șterge conținutul fișierului și încearcă să creeze un fișier nou dacă acesta nu există.
  • a – Pentru a adăuga conținut la un fișier existent. Nu șterge conținutul fișierului și încearcă să creeze un fișier nou dacă acesta nu există.
  • a+ – Pentru a deschide fișierul pentru citire și adăugare. Nu șterge conținutul fișierului și încearcă să creeze un fișier nou dacă acesta nu există.
  • x – Pentru a deschide fișierul pentru citire, dar returnează false dacă fișierul nu există.
  • x+ – Pentru a deschide fișierul pentru citire și scriere. De asemenea, returnează false dacă fișierul nu există. 
  • c – Pentru a deschide fișierul pentru citire. Acesta șterge conținutul și încearcă să creeze un fișier nou dacă acesta nu există. 
  • c++ – Pentru a deschide fișierul pentru citire și scriere. Acesta șterge conținutul și încearcă să creeze un fișier nou dacă acesta nu există. 

Închideți întotdeauna fișierele manual

Deși PHP închide automat toate fișierele după efectuarea operațiunilor, se recomandă să închideți fișierul manual. PHP oferă funcția fclose() pentru a închide fișierul deschis. 

Funcția fclose() are un parametru – nume fișier. Respectați următorul cod.



<?php
$file = fopen("demo.txt", "r");
fclose($file);
?>

Funcții PHP pentru fișiere

fopen() și fclose() sunt funcții primare utilizate pentru deschiderea și, respectiv, închiderea fișierelor în PHP. Dar PHP oferă funcții suplimentare pentru a ajuta programatorii. Să discutăm câteva dintre aceste funcții PHP încorporate.

fisierul exista()

Lucrul cu fișiere este predispus la erori și avertismente. Poate apărea o situație în care fișierul specificat nu există. Acest lucru poate duce la erori sau avertismente. Pentru a evita astfel de erori și avertismente, este recomandat să utilizați funcția file_exists() înainte de a utiliza fopen() pentru a verifica dacă fișierul există sau nu.

Vezi următorul cod. 


<?php

// check if the file exists

if (file_exists("demo.txt"))
{
  // open the file in read mode
  $file = fopen("demo.txt","r");
  // close the file
  fclose($file);
} else {
    echo "file does not exist";
}

?>

În codul de mai sus, funcția file_exists() este utilizată cu instrucțiunea if pentru a verifica dacă „demo.txt” există sau nu. 

friad()

Un fișier poate fi uriaș. Este posibil să fie nevoie să citim întregul conținut sau doar o parte din acesta. Să presupunem că trebuie să citim doar primele 10 caractere ale întregului conținut al fișierului. În astfel de cazuri, putem folosi funcția fread(). 

Funcția fread() are doi parametri – fișier și lungime în octeți.

Respectați următorul cod.


<?php

// check if the file exists

if (file_exists("demo.txt"))
{
  // open the file in read mode
  $file = fopen("demo.txt","r");
  // use fread() function
  $data = fread($file, "10");
  echo $data

  // close the file
  fclose($file);
} else {
    echo "file does not exist";
}
?>

În codul de mai sus, funcția fread() este folosită pentru a citi 10 octeți din fișierul „demo.txt”. 

fwrite()

Funcția fwrite() este folosită pentru a scrie datele într-un fișier. Este nevoie de doi parametri – fișier și șir.

Respectați următorul cod.


//verificarea existenței fișierului if

if(fișier_există(„demo.txt”))

{

    //deschiderea fișierului cu modul „w”.

    $fișier = fopen(„demo.txt”, „w”);

    fwrite($fișier, „Acesta este un șir”);

}

altceva {

    echo „fișierul nu există”;

}

?>


Există două scenarii în codul de mai sus. 

  • Dacă „demo.txt” nu există, funcția fwrite() va crea un fișier nou și va scrie „Acesta este un șir” pe el. 
  • Dacă „demo.txt” există, funcția fwrite() va suprascrie conținutul fișierului, dar dacă doriți să adăugați conținutul, atunci utilizați doar modul „a” în loc de „w”.

tip fișier()

Pentru a verifica tipul fișierului, PHP oferă funcția filetype(). Următoarele sunt valorile posibile pe care funcția filetype() le poate returna.

  • car de război
  • fifo
  • dir
  • fişier
  • legătură
  • priză
  • bloca
  • necunoscut

deconectați()

Funcția unlink() este folosită pentru a șterge un fișier sau un director. Returnează true dacă fișierul sau directorul este șters și false dacă nu. 

Respectați următorul cod. 


//verificarea existenței fișierului if

if(fișier_există(„demo.txt”))

{

    //folosind funcția unlink() pentru a șterge demo.txt

    if(unlink(„demo.text”)){

    ecou „fișier șters”;

    }

    altceva {

    ecou „eroare la ștergerea fișierului”;

    }

}

altceva {

    echo „fișierul nu există”;

}

?>


În codul de mai sus, funcția unlink() este folosită pentru a șterge „demo.txt”.

Rezumat

  • Funcția fopen() este folosită pentru a deschide un fișier. 
  • Există diferite moduri de a deschide un fișier folosind funcția fopen().
  • Funcția fclose() este folosită pentru a închide un fișier.
  • PHP oferă mai multe funcții încorporate pentru a lucra cu fișiere.
  • Unele dintre funcțiile încorporate utilizate în mod obișnuit sunt file_exists(), fread(), fwrite(), filetype() și unlink().

Acum știți cum să citiți și să creați un fișier în PHP, să învățăm despre buclele.

Adaugă comentariu

Rețeaua de tutori

Învață PHP de la A la Z