Cunoștințe, prelegere, lucrul cu sistemul de fișiere

Ștergeți un fișier

Ultimul lucru pe care dorim să-l învățăm din acțiunile din fișiere este ștergerea fișierelor. Pentru a șterge un fișier folosind limba PHP. trebuie să utilizați funcția unlink (). Sintaxa acestei funcții poate fi descrisă după cum urmează:







Această funcție șterge fișierul. care are numele de nume de fișier. Returnează TRUE dacă această operație reușește și FALSE - în cazul unei erori. Pentru a șterge un fișier. de asemenea, trebuie să aveți drepturile de acces corespunzătoare (de exemplu, accesul numai pentru citire pentru a șterge un fișier nu este suficient).

Exemplul 9.10. Utilizând funcția de deconectare ()

Încărcarea unui fișier pe server

Acum vom rezolva o sarcină mai complicată și care se întâmplă frecvent în practică de a încărca un fișier pe server. Primul lucru pe care trebuie să-l faceți este să încărcați fișierul pe server. aceasta este pentru a crea o formă html. Pentru a utiliza acest formular pentru a încărca fișiere, acesta trebuie să conțină atributul enctype în eticheta de formular cu valoarea mai multor date / formulare. și de asemenea un element de intrare a fișierului de tip.

Exemplul 9.11. Formular pentru încărcarea fișierului pe server

Rețineți că am adăugat un câmp ascuns la formular. Acesta conține dimensiunea maximă permisă a fișierului încărcat în octeți. Când încerc să descarcă un fișier. a căror mărime este mai mare decât valoarea specificată în acest câmp, va fi stabilită o eroare. În browser, formularul pe care l-am creat va arăta ca o linie pentru introducerea textului cu un buton suplimentar pentru a selecta un fișier de pe discul local (Figura 9.1).


Fig. 9.1. Exemplu de formular pentru încărcarea unui fișier pe server

Acum trebuie să scriem un scenariu. care va procesa fișierul rezultat.

Toate informațiile despre fișierul încărcat pe server sunt conținute în matricea globală $ _FILES. Această matrice a apărut de la PHP 4.1.0. Dacă directiva register_globals este activată. atunci valorile variabilelor transferate sunt disponibile doar prin numele lor.

Dacă am descărcat de pe computerul client un fișier numit critici .htm cu dimensiunea de 15136 octeți. apoi un script cu o singură comandă print_r ($ _ FILES); va afișa următoarele:







În general, matricea $ _FILES are întotdeauna următoarele elemente:

  • $ _FILES ['myfile'] ['name'] este numele pe care fișierul îl avea pe mașina client.
  • $ _FILES ['myfile'] ['type'] - tip mime al fișierului trimis, dacă browserul a furnizat aceste informații. În exemplul nostru, acesta este text / html.
  • $ _FILES ['myfile'] ['size'] - dimensiunea fișierului încărcat în octeți.
  • $ _FILES ['myfile'] ['tmp_name'] este numele temporar al fișierului sub care a fost salvat pe server.
  • $ _FILES ['myfile'] ['error'] - codul de eroare. a apărut la boot.

Aici 'myfile' este numele elementului de formă folosit pentru a încărca fișierul pe server. Adică, poate fi diferit dacă elementul de formă este denumit diferit. Dar aici alte chei (nume, tip, etc.) rămân neschimbate pentru orice formă.

Dacă register_globals = Pornit. sunt disponibile și variabile suplimentare, cum ar fi $ myfile_name. care este echivalent cu $ _FILES ['myfile'] ['name']. și altele asemenea.

Erori la încărcare în PHP se disting prin cinci tipuri și în consecință $ _FILES ['myfile'] ['error'] poate avea cinci valori:

0 - nu a apărut o eroare, fișierul a fost descărcat cu succes

1 - fișierul încărcat depășește dimensiunea. setat de directiva upload_max_filesize din fișierul de setări php.ini

2 - fișierul încărcat depășește dimensiunea. setat de elementul MAX_FILE_SIZE al formularului html

3 - fișierul a fost descărcat parțial

4 - fișierul nu a fost încărcat

În mod prestabilit, fișierele descărcate sunt stocate în directorul temporar al serverului, dacă alt director nu este specificat utilizând opțiunea upload_tmp_dir din fișierul de setări php.ini. Mutați fișierul descărcat în directorul dorit utilizând funcția move_uploaded_file ().

Funcția move_uploaded_file () are următoarea sintaxă:

Această funcție verifică dacă fișierul este valid. denotată de șir temporar_file_name. a fost încărcat prin mecanismul de încărcare HTTP prin metoda POST. Dacă da, fișierul este mutat într-un fișier. specificată de parametrul destinație (acest parametru conține atât calea spre noul director pentru stocare, cât și noul nume de fișier).

Dacă numele temporar_filează fișierul descărcat greșit. atunci nu se va întreprinde nicio acțiune și move_uploaded_file () returnează FALSE. Același lucru se va întâmpla dacă fișierul nu poate fi mutat din anumite motive. În acest caz, interpretul va emite un avertisment. Dacă fișierul. specificată de parametrul destinație. există, move_uploaded_file () îl va suprascrie.

Exemplul 9.12. Program pentru încărcarea unui fișier pe server

concluzie

Să rezumăm. În această prelegere am învățat cum să creăm fișiere utilizând limba PHP. cum să scrieți date în fișiere prin PHP. cum să citească informații de la ei în diferite moduri, cum să verificați existența și disponibilitatea unui fișier pentru scriere și citire. În plus, am analizat sarcina încărcării unui fișier pe server și am discutat principalele variabile și funcții ale limbajului PHP asociat cu acesta.







Articole similare

Trimiteți-le prietenilor: