Lucrul cu fișiere în php

Lucrul cu fișiere - PHP este un instrument important.

Includerea fișierelor externe

Fiecare PHP-document poate include un fișier folosind declarația include (). Argumentul ei: calea către fișierul. Această instrucțiune este convenabil de a utiliza, în prezența acelorași piese de cod în multe dintre PHP-program. Conținutul fișierului inclus este tratat ca un simplu HTML-text. Pentru conținutul acestui fișier este procesat ca un program de PHP, este necesar să se încadra de deschidere și închidere tag-uri PHP.







Top.php includ fișier cu PHP-program:

Rezultatele din Exemplul 1:

. Partea principală.

În acest caz, rezultatul va fi același ca în cazul în care fișierul top.php inclus conține șir doar HTML text:

Includ fișiere pot returna valori funcții similare. Folosind declarația de retur se termină executarea acestui fișier precum și funcția.

Top.php includ fișier cu PHP-program:

Rezultatele din Exemplul 2:

Includeți fișierul returnat 56

Instrucțiunile includ () poate fi utilizat în cadrul buclei. In ciclul includ () se realizează la fiecare iterație. Acest lucru poate fi utilizat pentru a include mai multe fișiere. De exemplu:

includ () declarație poate fi, de asemenea, incluse în corpul declarației condiționate.

Funcția În ciuda similitudinii în aparență funcției, include () nu este, și este o construcție specială de limbă.

Pentru a indica faptul că trebuie să includeți fișiere doar o singură dată folosind include_once (declarație)

fișiere de analiză

PHP oferă un set de funcții care oferă informații despre fișiere. Cel mai frecvent utilizate sunt:
  • file_exists () - determină existența dosarului. De exemplu:
  • is_file () - determină dacă fișierul obiect examinat. De exemplu:
  • is_dir () - determină dacă directorul obiectului examinat. De exemplu:
  • is_readable () - determină dacă fișierul este disponibil pentru citire. De exemplu:
  • is_writable () - determină dacă fișierul este disponibil pentru înregistrare. De exemplu:
  • filesize () - determină mărimea fișierului în octeți.
  • filemtime () - specifică data și ora ultimei modificări.
  • fileatime () - specifică data și ora ultimei acces la dosar.

Rezultatele din Exemplul 3:

Atenție! Cu fișiere la distanță, aceste funcții nu funcționează. Ele pot fi aplicate numai sistemul de fișiere local.

managementul fisierelor

  • deconectez () - șterge fișierul specificat. De exemplu:
  • fopen () - se deschide un fișier local sau la distanță și returnează un pointer la ea. Indicatorul este utilizat în toate operațiunile cu conținutul fișierului. Argumente: numele fișierului și modul deschis.

    lectură. indicatorul de fișier este poziționat la începutul său

    citire și scriere. indicatorul de fișier este poziționat la începutul său

    de înregistrare. indicatorul de fișier este poziționat la început. Toate vechi conținutul fișierului este pierdut. Dacă un fișier cu numele specificat nu există, funcția încearcă să-l creeze

    citire și scriere. indicatorul de fișier este poziționat la început. Toate vechi conținutul fișierului este pierdut. Dacă un fișier cu numele specificat nu există, funcția încearcă să-l creeze

    de înregistrare. indicatorul de fișier este poziționat la sfârșitul anului. Dacă un fișier cu numele specificat nu există, funcția încearcă să-l creeze

    citire și scriere. indicatorul de fișier este poziționat la sfârșitul anului. Dacă un fișier cu numele specificat nu există, funcția încearcă să-l creeze

    În cazul în care nu reușește deschis, este posibil să se întrerupă executarea programului. De exemplu:
  • fclose () - închide fișierul. Argument: un pointer fișier obținut anterior de la fopen (). De exemplu:
  • feof () - verifica sfârșitul fișierului. Argumentul: indicatorul de fișier.
  • fgetc () - citiți următorul caracter din dosar. Argumentul: indicatorul de fișier.
  • fgets () - citiți următoarea linie a fișierului. Argumente: indicatorul de fișier și lungimea liniei care urmează să fie citit. Operația se oprește sau după citirea numărului menționat de caractere sau după detectarea liniei de capăt sau al fișierului.

  • fread () - funcție generală pentru a citi din dosar. Argumente: indicatorul de fișier și numărul de caractere citite.
  • fseek () - offset de la începutul fișierului. Argumente: indicatorul de fișier și un offset.

  • fputs () - intrare linie din fișier. Argumente: pointer de fișier și șir.
  • fwrite () - o funcție completă fputs analogice ().

    Lock folosind efectiv () nu este o absolută. Din moment ce vor fi luate în considerare numai acele programe care utilizează, de asemenea, această caracteristică.







  • În versiunea PHP> = 4.3.0, noi caracteristici user-friendly pentru a lucra cu fișiere:
    • file_get_contents () - citiți întregul fișier sau URL-ul
    • file_put_contents () - scriere fișier

    Lucrul cu Directoare

    PHP are mai multe funcții pentru lucrul cu directoare:
    • mkdir () - a crea un director. Argumentele urmări numele directorului și modul de acces. Acces - numărul octal cu trei cifre, cu un lider de la zero. Prima cifră - dreptul de acces pentru proprietar, al doilea - pentru grup, iar al treilea - pentru toți ceilalți. În Windows, modul de acces este ignorat. Pe un sistem UNIX definește următoarele permisiuni:

    Accesul pentru a începe

    acces de scriere

    de înregistrare de acces și începe

    Citește acces

    Citește acces și a alerga

    Accesul pentru citire și scriere

    Test de muncă ciclu de exprimare nu este așa, cum aș dori, în cazul în care directorul conține un fișier numit „0“. În acest caz, numele de „0“ va fi convertit la 0, ceea ce va duce la sfârșitul ciclului. Puteți evita acest lucru prin luarea de măsuri suplimentare de securitate prin modificarea expresiei de încercare:

    În plus față de utilizarea fgetc funcția () fgets () fgetss (), puteți utiliza
    $ File = fișier ($ filename). Ea citește $ filename în matrice (fișierul $).

    Transferul de fișiere de pe server. Descarcă documentul. Se descarcă.

    Manual de descărcare, sau ca un script de utilizator pentru a deschide fereastra pentru a salva fișierul. Pentru a deschide dialogul în browser-ul „Save File“ pentru a file.dat nume de fișier, script-ul ar trebui să trimită aceste antete:

    Următorul exemplu script prezintă modul de organizare a sprijinului pentru reluarea:

    Se presupune că $ cd - calea către fișierul, $ fn - numele fișierului Pentru a transfera un fișier de pe server?

    Funcții pentru lucrul cu directoare

    PHP schimbă directorul său actual la specificat ca parametru str. Returnează TRUE în caz de succes, FALSE în caz de eșec
  • chroot () - Schimbarea chroot directorul rădăcină boolean (str string)

    Schimbă directorul rădăcină al procesului curent transmis ca parametru str. Returnează TRUE în caz de succes, FALSE în caz de eșec.

    Notă: Această funcție nu este implementată pe Windows-platforme.
  • closedir () - Release un mâner director void closedir (catalog resourse)

    Se închide fluxul asociat cu directorul și transmis ca un catalog parametru. Înainte de a utiliza această funcție, firul trebuie să fie deschis cu funcția opendir ().

    dir - clasa director

    Un pseudo-obiect mecanism orientat pentru citirea unui director a trecut la directorul de parametri. De la deschiderea catalogului sunt disponibile două proprietăți ale clasei. „Manivela“, proprietate poate fi utilizat cu alte caracteristici pentru a lucra cu cataloage, de exemplu, funcțiile readdir (). rewinddir () și closedir (). „Calea“ proprietate conține calea către folderul public. Sunt disponibile trei metode: citit, înapoi și închide.

    Vă rugăm să rețineți moda în care se întoarce acasă este verificat clasa dir () metode de valoare în exemplul de mai jos. Această testare dacă valoarea privind identitatea (expresiile sunt identice, atunci când acestea sunt egale și sunt de un singur tip - pentru mai multe informații vezi Comparatorii) valoarea FALSE, deoarece în caz contrar, orice intrare de director al cărui nume poate fi exprimat ca FALSE, opri ciclul.

    Notă: Ordinea în care metoda este „citește“ articolele din catalog înapoi, în funcție de sistemul de operare.

    Notă: De asemenea, PHP va detecta automat directorul de clasă internă, ceea ce înseamnă că nu vă puteți defini propriile clase cu același nume.


  • getcwd () - Ia curent getcwd director de lucru șir de caractere (void)

    Returnează numele directorului curent de lucru.


  • opendir () - Deschideți directorul resourse opendir (cale șir de caractere)

    Returnează un mâner director pentru a fi utilizat cu funcții de closedir (), readdir () și rewinddir ().

    În cazul în care calea nu există sau director în calea specificată nu poate fi deschisă din cauza restricțiilor impuse de permisiune sau erori de sistem de fișiere, funcția opendir () returnează false și generează o eroare PHP de nivel E_WARNING. Puteți dezactiva acest mesaj de eroare prin prefixarea simbolul „@“ numele funcției opendir ().

    Pornind de la versiunea PHP 4.3.0, parametrul cale poate fi, de asemenea, orice o adresă URL, în care rezultatele de apel într-o listă de fișiere și directoare. Cu toate acestea, această metodă funcționează numai atunci când se utilizează fișierul URL-wrapper: //. Ca de PHP 5.0.0 a adăugat suport url-packer ftp: //.


  • readdir - obține un element de director pentru readdir string mâner (catalog de resurse) sa

    Returnează numele următoarei în ordinea intrării directorului. Numele elementelor returnate în ordinea în care depinde de sistemul de fișiere.

    In exemplul de mai jos, nota mod de a verifica valoarea returnată din readdir (). Acest exemplu este verificat valori la identitatea (expresiile sunt identice, atunci când acestea sunt egale și sunt valori de tip - pentru mai multe informații vezi Comparatorii) FALSE, pentru că în caz contrar, orice intrare de director al cărui nume poate fi exprimat ca FALSE opri bucla (de exemplu, un element numit „0“).

    Rețineți că readdir () returnează, de asemenea, elemente cu nume, iar dacă nu doriți să primiți aceste valori, pur și simplu aruncați-le:


  • rewinddir () - Reset director mâner void rewinddir (catalog de resurse)

    Restează fluxul de director transmis în parametrul catalog, astfel încât să indice începutul directorului


  • scandir () - Ia-o listă de fișiere și directoare situate în scandir specificat calea de matrice (catalog string [, ordine int])

    Se returnează o matrice care conține numele de fișiere și directoare amplasate pe drumul pe care a fost trecut în parametrul catalog. Dacă directorul nu este de așa natură, funcția returnează o valoare boolean FALSE și generează o eroare de nivel E_WARNING.

    În mod implicit, sortarea se face în ordine crescătoare alfabetică. Dacă ordinul opțional (egal cu 1), sortarea se face în ordine alfabetică, în ordine descrescătoare. Exemplu de cod

    Rezultatul va fi ceva de genul:

    Array ([0] =>. [1] =>. [2] => bar.php [3] => foo.txt [4] => somedir) Array ([0] => somedir [1] => foo.txt [2] => bar.php [3] =>. [4] =>).