Példa egy szöveges fájl feldolgozására php-ben
Példa a PHP-ben lévő szöveges fájl feldolgozására
Egy kis tanulási példa illusztrálja az úgynevezett "lapos" (azaz hagyományos szöveges) fájlokat. Még a MySQL-hez vagy más adatbázis-kiszolgálóhoz való csatlakozás nélkül is a PHP könnyen (és ami a legfontosabb, gyorsan) teljesen teljes körűen írhat alkalmazásokat.
Legyen a mi például továbbra is fenntartja az egyszerű szöveg „adatbázis”, amelyben az egyik sorban a fájl egy rekordot. A felvétel az alábbi két érték - a neve (pl karakterlánc), és egy bizonyos számú, szóközzel elválasztva. A szkript meglétét a fájl (és egy új jön létre, ha szükséges), nem teszi hozzá ugyanazt a rekordot, egy listát a támogatott rendezés ABC, képes megmutatni egy listát a meglévő, és új bejegyzést.
Általában hasonló műveletekre van szükség a valós alkalmazásokban.
Először meghatározzuk adataink fájlnevét, a mappát feltételezzük, hogy aktuális:
Talán több helyen is kilépünk a forgatókönyvről (például a fájlhoz való hozzáférés hibái miatt), hogy azonnal írjuk a myexit funkciót. "lezárja" a HTML dokumentumot, és kilép. De a "bemenet" a parancsfájlban pontosan egy lesz, ezért a megfelelő HTML dokumentum fejléc első megfelelő műveletét fogjuk tenni.
Ellenőrizzük, hogy létezik-e a fájl, és elérhető-e az íráshoz, ha nem, megpróbálunk létrehozni egy üres fájlt és ellenőrizni, mi történt. Ha ez nem sikerül, nyomtasson ki hibaüzenetet és lépjen ki kilépési kóddal 1.
Kapjuk a fájl tartalmát, osszuk külön sorokban felrobban (egyes bejegyzések a tömb elem $ a), a tömb elemeit $ a. viszont osztja a szóköz a nevek (miután a második hívás felrobban fognak tartalmazni $ területeken [0]) és a szám ($ mezo [1]). De szükségünk van eddig csak nevek - alkotnak azokat egy tömbben az összes nevek $ fio. Végtére is, mi lesz majd ellenőrizze a neve a visszavétel.
Ellenőrizzük és megkapjuk a 2 külső paramétert - név $ name és number $ number. A névtől egyszerűen eltávolítottuk a címkéket a htmlspecialchars függvénnyel. és a számot intval módszerrel konvertáltuk. a nem kívánt karakterek eltávolításához.
Ha mindkét átruházott érték nem megy, megpróbáljuk hozzáadni őket a fájlhoz - de először ellenőrizzük, hogy nincs ilyen név (array_search). Mielőtt hozzákezdene, rendezzük az adatmátrixot a függvény sorrendjével, és egy implodefunkcióval rendelkező string-hez adjuk. Különítse el a különálló rekordokat a vonal fordításával. Természetesen ez a megközelítés nem kívánatos nagy mennyiségű adat esetén, ebben az esetben jobb, ha adatbázisokat használunk.
Egy űrlapot jelenít meg az Új adatok bevitele a területeken, természetesen, utalt a nevét és számát. ha az érintett változók kerültek át - ezek kiadási kezdeti tartalmát a területeken. Persze, jó lenne, ha a véletlen a mező nevét és számát nem felelnek meg a szkript is frissíteni az adatokat a fájl - megpróbálják „tie” a megfelelő kódot.
Továbbra is kiadja a $ string adatokat, és kitölti a szkriptet. Ha partícionált nyomtatásra lenne szükségünk, akkor megkerültük a megváltozott $ a tömböt foreach hurokkal.
Az alábbiakban egy ZIP archívum van a példában szereplő fájlban. Feltételezzük, hogy a parancsfájlt index.php-nek nevezzük. azaz a mappa "alapértelmezett fájlja".