PHP: citirea unui fișier PHP. Lucrul cu fișiere în PHP: citire, scriere și recomandări
PHP a apărut mult mai târziu decât limbile de programare și-a consolidat pozițiile, a formulat concepte generale despre sintaxă, logică, variabile și alte obiecte ale programelor. Fișierele și funcțiile de lucru cu ele nu au avut niciun progres și chiar problema codării fișierelor, care a apărut din motive naturale, nu a dus la soluții noi din punct de vedere cardinal.
conținut
Note generale
Principala lucrare cu fișiere, indiferent de ce sunt, este deschiderea, citirea / scrierea și închiderea. Puteți utiliza funcția de blocare / deblocare pentru a accesa fișierul în timp ce îl procesați, puteți seta poziția de citire / scriere în fișier - totul, ca și mai înainte, în trecutul îndepărtat.
Un punct important în PHP este excesul de funcții de lucru cu fișiere și opțiunile de utilizare a acestora. În practică, este suficient să se utilizeze variante simple dar de lucru. Fișierul este, în primul rând, memoria programului. Poate stoca informații. Scopul oricărui program, scopul fiecărui site - reprezentarea, procesarea și asigurarea siguranței informațiilor.
Circumstanța esențială
Anterior, cerința compatibilității cel puțin de jos în sus era neclintită. Aceasta înseamnă că, odată ce a fost scris un program pe o versiune a limbajului de programare, este compilat / interpretat în mod ideal în următoarea versiune. În programele moderne, nu este așa. Cerința compatibilității construcțiilor sintactice ale limbii a scăzut în istorie, iar lupta dintre stiluri și mijloace de programare și versiuni ale acestor sau ale altor instrumente a devenit norma vieții lor.
Lucrul cu fișiere, cum ar fi baze de date, atât de important, cât de important este interfața site-ului. Primul care urmează să fie construit în așa fel încât atunci când schimbați platforma, găzduire, versiunea de limba nu a avut nevoie pentru a schimba codul site-ului. Interfața de gestionare a fișierelor ar trebui să fie plasat într-un script separat și pentru a asigura compatibilitatea deplină, precum și de design-ul ar trebui să se adapteze în mod adecvat la orice dispozitiv, browser-ul, și să ofere restul de functionalitatea site-ului aceleași oportunități.
Citiți și schimbați-vă
Se poate schimba programul în sine, adică poate fi îmbunătățit scriptul? În prezent, această problemă este de interes pentru mulți. Dar sarcina este mult mai practică: citirea PHP a unui fișier PHP. Nu întotdeauna dezvoltatorul poate rezolva această sarcină prin scrierea unui cod specific. Uneori este necesar să se schimbe atunci când un vizitator a venit pe site și a formulat o întrebare care nu a fost prevăzută în faza de dezvoltare.
La fel ca în toate celelalte cazuri, mai întâi trebuie să deschideți fișierul. Nu contează dacă acest fișier există sau nu. Dacă știți că fișierul există (funcția file_exists () dă un răspuns pozitiv), utilizați funcția fopen () cu acces lsquo-rrsquo-, lsquo-r + rsquo-, lsquo-arsquo-, lsquo-a + rsquo-. Dacă fișierul nu există deja, atunci cu acces lsquo-arsquo-, lsquo-a + rsquo-, lsquo-wrsquo-, lsquo-w + rsquo-. Rezultatul deschiderii fișierului va fi mânerul său. Fișierul este închis cu fclose ().
Este convenabil să folosiți PHP pentru a citi un fișier într-un matrice atunci când nu este nevoie să îl procesați în momentul citirii.
dacă (file_exists ($ fName)) {
$ aLines = fișier ($ fName)
}
În acest caz, fiecare linie a fișierului intră secvențial în elementul matrice. Trebuie remarcat faptul că funcțiile fișierului () sau file_get_contents () nu trebuie să deschidă un fișier și să îl închidă.
Când fișierul de intrare este prea mare și trebuie să găsiți destulă informație sau din alte motive, puteți utiliza linia de citire a fișierului PHP. PHP oferă posibilitatea de a face acest lucru cu funcțiile fgets () și fgetc ().
$ cLines = ``
$ fvs = fopen ($ fName, `r`)
$ i = 0
în timp ce ((fals! == ($ cLine = fgets ($ fvs, 2000))))) {
$ i ++
$ cLines. = `
“. $ i. „). “. $ cLine
}
fclose ($ fvs)
Ambele opțiuni funcționează fără probleme. Cu toate acestea, atunci când efectuați citirea PHP a fișierului PHP pentru o modificare ulterioară, trebuie să respectați măsurile de precauție. Nu este întotdeauna posibil să se ofere variante ale utilizării sale de către vizitator în stadiul de dezvoltare a site-ului web. Este mai bine dacă schimbarea scripturilor este efectuată în cadrul funcțiilor site-ului, iar gestionarea acestei modificări nu este disponibilă pentru vizitator, inclusiv pentru administratorul de resurse.
Salvarea rezultatelor
Informațiile primite și actualizate sunt scrise în fișier prin linia de funcții fputs () prin linie sau prin file_put_contents () funcționează în întregime.
$ fName = $ _SERVER [`DOCUMENT_ROOT`]. `/tmp/scData.php`
$ fvs = fopen ($ fName, `a`)
flock ($ fvs, LOCK_EX)
$ cLine = `1 linie`. chr (10)
fputs ($ fvs, $ cLine)
$ cLine = `2 linii`. chr (10)
fputs ($ fvs, $ cLine)
fflush ($ fvs)
flock ($ fvs, LOCK_UN)
fclose ($ fvs)
În versiunea liniară a înregistrării, puteți manipula datele în timpul procesului de scriere, în al doilea caz, șirul de înregistrare sau matricea sunt plasate în fișier ca întreg.
$ file = `scData.php`
$ cContents = file_get_contents (fișier $)
// adăugați o înregistrare
$ cContents. = "intrare nouă n"
// scrieți fișierul înapoi
file_put_contents ($ file, $ cContents)
Citirea și scrierea fișierelor PHP este simplă și naturală. Cu toate acestea, este important să rețineți: fiecare fișier are un nume, o extensie și o cale (dosar). Pentru ca scriptul PHP să poată citi și scrie fișiere, acest script trebuie să aibă drepturile corespunzătoare. Acestea sunt automat puse pe hosting, dar în unele cazuri trebuie să fie extinse.
În unele cazuri, este recomandabil să verificați rezultatele prin efectuarea unei lectări de testare. Scrierea fișierelor PHP necesită acest lucru în timpul fazei de dezvoltare, dar în unele cazuri, în interesul siguranței sau al fiabilității site-ului, este esențială verificarea înregistrării datelor.
O caracteristică caracteristică a PHP, MySQl, jаvascript și, în special, a browserelor: încetarea liniștită a unor erori. "Nu a fost recunoscut, nu sa întâmplat hellip "nu este o bună practică a marginea de vârf a tehnologiei informației, dar îi învață pe dezvoltatori să nu facă greșeli și să scrie coduri de calitate, care nu sunt, de asemenea, rele.
PHP și lucrul cu documente reale
Citește PHP un fișier PHP este cu siguranță de interes practic, dar este o zonă de programare. Utilizatorul și vizitatorul site-urilor sunt interesați de informații de natură aplicată, pe care este obișnuit să le vadă sub formă de tabele și documente, în special în fișierele * .xlsx și * .docx. Aceste fișiere sunt în format MS Excel și MS Word.
Liste de bunuri, prețuri, caracteristici sunt, în general, formate în formă de tabele, astfel încât fișierul PHP de citire Excel este esențial.
Pentru a lucra cu astfel de fișiere, au fost dezvoltate biblioteci PHPExcel și PHPWord. Cu toate acestea, conținutul fișierelor * .xlsx și * .docx sunt reprezentate în standardul OOXML, adică documentul actual accesibil înțelegerii este reprezentat de arhiva zip. Arhiva zip este o mulțime de fișiere, inclusiv imagini, obiecte, formule, inserturi de la alte programe. Fișierele text aici sunt reprezentate de descrieri sub formă de etichete. Nu este suficient să citiți un astfel de fișier, trebuie să îl parsezi pentru a obține conținutul și structura pentru utilizare și modificare.
Aceasta înseamnă că operația de citire devine o procedură pentru deschiderea arhivei. Aceste biblioteci deschid arhivele documentului și oferă dezvoltatorului funcții extinse de citire, procesare și înregistrare a acestor documente.
Tabele Excel
Pentru a citi o foaie de calcul Excel, este suficient să cunoașteți numele fișierului său și calea către el ($ xls). Ca rezultat al executării următorului cod, se va genera o serie de valori ale tabelului Excel original:
include_once lsquo-PhpOffice / PhpExcel / IOFactory.php "
funcția scGetExcelFile ($ xls) {
$ objPHPExcel = PHPExcel_IOFactory :: încărcare ($ xls)
$ objPHPExcel-> setActiveSheetIndex (0)
// această matrice conține tablouri de șiruri de caractere
$ aSheet = $ objPHPExcel-> getActiveSheet ()
$ array = array ()
// procesare
foreach ($ aSheet-> getRowIterator () ca $ rând) {
$ cellIterator = $ rând-> getCellIterator ()
$ item = array ()
foreach ($ cellIterator ca $ celulă) {
array_push ($ element, iconv (`utf-8`, `cp1251`, $ cell-> getCalculatedValue ()
}
array_push ($ array, $ item)
}
returnați $ matrice
}
Citirea și procesarea fișierelor Excel este mult mai dificilă decât prelucrarea documentelor Word. Cea mai bună opțiune, dacă aveți nevoie să implementați un proiect serios de citire și prelucrare a informațiilor despre aplicații, este mai întâi să stăpânești biblioteca PHPWord. Acest lucru va oferi o experiență bună și o intrare rapidă în specificul problemei.
Documente Word
Doar două rânduri:
$ oWord = nou PhpOffice PhpWord PhpWord ()
$ oDocx = $ this-> oWord-> loadTemplate ($ cFileName)
Acum documentul $ cFileName este disponibil pentru procesare. Apoi deschide arhiva, selectează și analizează conținutul său, care poate fi afișat pe site, schimbat și scris înapoi.
$ zipClass = noul ZipArhive ()
$ zipClass-> deschide ($ this-> tempFileName)
// citiți întregul conținut al documentului
pentru ($ i = 0- $ i<$ zipClass-> numFiles- $ i ++) {
$ cNameIn = $ zipClass-> getNameIndex ($ i)
$ cNameInExt = substr ($ cNameIn, -4)
dacă {($ cNameInExt == `.xml`) || ($ cNameInExt == `rels`)) {
// fișierele cu extensiile ".xml" și ".xml.rels" sunt stocate în tabelul de documente
// fiecare linie xml este scrisă cu un număr unic în ordine
$ cBodyIn = $ zipClass-> getFromName ($ cNameIn)
$ cBodyInLen = strlen ($ cBodyIn)
} altceva {
// toate celelalte fișiere sunt scrise în dosarul documentului așa cum este
$ cNameOnly = substr ($ cNameIn, strrpos ($ cNameIn, `/`) + 1)
$ zipClass-> getFromName ($ cNameIn, $ cWorkPath) - // conținutul ca fișier
}
Oportunități oferite de utilizarea PHP Excel și Word PHP, vă permit să manipuleze documentele reale, ceea ce le face un conținut relevant în orice moment dat. În lumea dinamică de astăzi, devine foarte important. Centrul de greutate sa mutat de mult din utilizarea locală a tehnologiei informatice în spațiul de Internet virtuale. Deoarece crearea de foi de calcul și documente din produse locale de la Microsoft este mai puțin eficace decât de lucru cu astfel de documente într-un mod automat sau semi-automat, pe site-ul, care este disponibil nu numai creatorul mesei sau un document, dar, de asemenea, clienții săi.
Fișiere text, o viață diferită
În prima aproximare, fișierele text sunt mai ușor decât fișierele PHP sau documentele de aplicație. Cu toate acestea, este ceva de gândit. Operațiile de citire / scriere a unor astfel de fișiere sunt deja indicate mai sus, dar semnificația acestor fișiere este mult mai importantă.
Kohl este o astfel de realitate, clientul și serverul (în primele domniilor jаvascript, pe al doilea - PHP), chiar și mecanismele de cookie-uri și sesiuni nu pot face față cu necesitatea de a transfera informații între script-uri, pagini, acele sau alte procese.
Este posibil să se reflecte modificările necesare în baza de date, dar cu toate avantajele și viteza acestora, fișierele text temporare sau permanente mici pot fi o variantă mult mai interesantă a transferului de informații. Dacă nu creați multe fișiere mici și controlați dimensiunile acestora, ele pot fi o versiune specifică și mai flexibilă a bazei de date.
PHP citit fișier text este rapid, acesta poate fi demontat imediat în structură, o matrice sau obiect. Acesta din urmă este foarte important, deoarece vă permite să creați obiecte care trăiesc în afara timpului alocat script PHP, care se știe că există numai pe server, și numai atunci când se încarcă pagina, formarea de răspuns AJAX sau pentru orice alt motiv, de asteptare lansarea PHP interpretului.
Idei promițătoare, recomandări
Dacă vă gândiți la faptul că un fișier text - este conținutul și structura dezvoltator, fișier PHP - un interpret de sintaxă plus logica pentru dezvoltatori și „etichetat“ descrierea html, css, XML - este mai multe elemente semantice, dar standardele statice reglementate. Puteți ajunge la concluzia că, probabil, fișierul este timpul pentru a cumpăra conținut nou, și trebuie să stabilească ea însăși logica lor de calitate și de aplicare. Aceasta se datorează faptului că programarea nu este încă gata pentru următoarea etapă a dezvoltării sale, fișierele acum sunt pur și simplu fișierele pe care dezvoltatorul creează și definește utilizarea lor.
Cea mai interesantă și promițătoare, când PHP citește un fișier PHP are loc singură, când acest lucru devine necesar. O simplă citire PHP a unui șir dintr-un fișier duce la crearea unui obiect, cel puțin în starea în care a fost salvat. Acestea nu sunt tocmai ideile obișnuite, dar, de fapt, în lumea modernă, totul se schimbă atât de repede.
- Cum și ce să deschideți fișierul * .pak? Descrierea formatului fișierelor * .pak
- Ce sunt fișierele? Tipuri de fișiere
- PHP. Lucrul cu fișiere și directoare
- Cum se scrie în fișierul php
- Extinderea unui fișier text: tipuri și aspecte principale ale determinării afilierii programelor
- Fișierele executabile au o extensie a tipului? Cele mai frecvente
- Fișier NFO: cel mai simplu pentru a deschide?
- Java: lucrul cu fișiere - scrierea, citirea, ștergerea
- Cum se deschide un fișier PDF pe Android? PocketBok Reader
- Ce este formatul XML decât să deschizi și cum să lucrezi cu el.
- Citirea unui fișier cu fișierul obține funcția de conținut PHP
- Formatul Dxf cum se deschide?
- Modalități de a crea un fișier de lilieci
- Decât fișierul tif deschis
- Fișierele Pptx: ce să deschidă
- C: Windows System32 Sdclt.exe - o parte integrantă a Windows
- Lucrul cu obiecte de fișiere: deschideți, citiți și scrieți fișiere în Python
- Un fișier care deschide fișiere EXE: există vreunul în sistem și ce acțiuni pot fi luate cu obiecte…
- Verificarea prezenței fișierului PHP file_exists
- Dimensiunea maximă a fișierului fat32 și modul de tratare a acestuia
- Optimizarea fișierului de paginare Windows XP