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
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: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șecSchimbă 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.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.
Returnează numele directorului curent de lucru.
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: //.
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:
Restează fluxul de director transmis în parametrul catalog, astfel încât să indice începutul directorului
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] =>).