Práca so súbormi v php: otváranie, písanie, čítanie. PHP vytvoriť súbor, čítať a zapisovať Php získať dáta zo súboru

Tieto dve metódy sú veľmi podobné, ale je tu jeden dôležitý rozdiel: na zápis musíte mať povolenie na zápis. To znamená, že sa musí nachádzať v adresári, v ktorom máte potrebné práva.

Ak pracujete lokálne na svojom počítači, môžete si práva nastaviť sami: kliknite pravým tlačidlom myši na priečinok a vyberte „Vlastnosti“. Na väčšine webových hostiteľov je zvyčajne iba jeden priečinok s oprávneniami na zápis. Často sa nazýva „cgi-bin“, „log“, „databázy“ atď. Ak to váš webhosting umožňuje, môžete si práva nastaviť sami. Zvyčajne môžete kliknúť pravým tlačidlom myši na priečinok vo vašom FTP klientovi a vybrať "vlastnosti" alebo "povolenia" alebo niečo podobné. Snímka obrazovky nižšie ukazuje, ako to vyzerá vo FileZilla.

Pozrite si aj stránky podpory vašich webových hostiteľov.

Upozorňujeme, že v priečinku s oprávneniami na zápis musí byť textový súbor a nie súbor PHP.

Otvorenie textového súboru na písanie

Rovnako ako pri čítaní textového súboru sa funkcia používa pri zápise, tentoraz je však režim nastavený na „w“ (zápis) alebo „a“ (pridávanie).

Rozdiel medzi písanie A pripája v tom, ako je umiestnený "kurzor" - na začiatku alebo na konci textového súboru.

Príklady v tomto návode používajú prázdny textový súbor, textfile.txt. Ale ak chcete, môžete si vytvoriť svoj vlastný súbor.

Najprv skúsme otvoriť tento textový súbor na písanie:

// Otvorenie textového súboru // Zatvorte textový súbor fclose($f); ?>

Príklad 1: Zápis reťazca do textového súboru

Na napísanie reťazca musíme použiť funkciu:

<span>Zápis do textového súboru</span> // Otvorenie textového súboru $f = fopen("textfile.txt", "w"); // Napíšte reťazec textu fwrite($f, "PHP je zábava!"); // Zatvorte textový súbor fclose($f); echo fgets($f); fclose($f); ?>

Keďže súbor je otvorený pre záznamy, riadok sa pridá na začiatok súboru a prepíše existujúci riadok. Ak otvoríme súbor pre pripája, riadok sa pridá na koniec súboru, ktorý sa pri každom zápise zväčší o jeden riadok.

Príklad 2: Pridanie bloku textu do textového súboru

Samozrejme, môžete pridať aj celý blok textu namiesto jedného riadku:

<span>Zápis do textového súboru</span> // Otvorenie textového súboru $f = fopen("textfile.txt", "w"); // Napíšte text fwrite($f, $_POST["textový blok"]); // Zatvorte textový súbor fclose($f); // Otvorte súbor na čítanie a prečítajte si riadok $f = fopen("textfile.txt", "r");// Prečítajte si text echo fgets($f); fclose($f); ?>

V nasledujúcich lekciách sa pozrieme na iný spôsob ukladania údajov: databázy.

Práca so súbormi je dôležitý bod. Keďže môžu ukladať údaje, protokoly atď. Už vieme, ako nahrať súbory na server. Teraz sa musíte naučiť, ako interagovať s ich obsahom.
Proces práce so súborom je rozdelený do troch etáp:
1. Otvorte súbor.
2. Pracujte na obsahu otvoreného súboru.
3. Zatvorenie súboru.

Funkcia fopen() Existuje niekoľko režimov otvárania súborov, tu je ich tabuľka:

Zoznam možných režimov pre fopen()
režim Popis
'r' Otvorí súbor len na čítanie; umiestni kurzor na začiatok súboru.
'r+' Otvorí súbor na čítanie a zápis; umiestni kurzor na začiatok súboru.
'w' Otvorí súbor iba na zápis; umiestni ukazovateľ na začiatok súboru a skráti súbor na nulovú dĺžku. Ak súbor neexistuje, pokúsi sa ho vytvoriť.
'w+' Otvorí súbor na čítanie a zápis; umiestni ukazovateľ na začiatok súboru a skráti súbor na nulovú dĺžku. Ak súbor neexistuje, pokúsi sa ho vytvoriť.
'a' Otvorí súbor iba na zápis; umiestni ukazovateľ na koniec súboru. Ak súbor neexistuje, pokúsi sa ho vytvoriť. V tomto režime je funkcia fseek() nie je použiteľné, záznamy sa vždy dopĺňajú.
'a+' Otvorí súbor na čítanie a zápis; umiestni ukazovateľ na koniec súboru. Ak súbor neexistuje, pokúsi sa ho vytvoriť. V tomto režime je funkcia fseek() ovplyvňuje iba miesto čítania, záznamy sa vždy pridávajú.
'X' Vytvára a otvára iba na písanie; umiestni kurzor na začiatok súboru. Ak súbor už existuje, zavolajte fopen() skončí neúspechom, vráti sa NEPRAVDIVÝ a zobrazí chybu úrovne E_WARNING. Ak súbor neexistuje, pokúsi sa ho vytvoriť. Je to ekvivalentné špecifikovaniu príznakov O_EXCL|O_CREAT pre interné systémové volanie otvorené (2).
'x+' Vytvára a otvára na čítanie a písanie; inak má rovnaké správanie ako 'X'.
'c' Otvorí súbor iba na zápis. Ak súbor neexistuje, vytvorí sa. Ak súbor existuje, potom nie je skrátený (na rozdiel od 'w') a volanie tejto funkcie nespôsobí chybu (ako v prípade 'X'). Ukazovateľ súboru sa nastaví na začiatok súboru. To môže byť užitočné, ak chcete uzamknúť súbor (pozri kŕdeľ()) pred výmenou, od používania 'w' môže skrátiť súbor pred získaním zámku (ak chcete súbor skrátiť, môžete použiť funkciu fruncate() po žiadosti o blokovanie).
'c+' Otvorí súbor na čítanie a zápis; inak má rovnaké správanie ako 'c'.

Do režimu môžete pridať ďalšie dve hodnoty:
b- súbor sa otvorí v binárnom režime
t- súbor sa otvorí ako text

Od slov k činom. Teraz trochu praxe na upevnenie. V priečinku so súbormi vytvoríme súbor s názvom test.txt, ale urobíme to pomocou PHP. A napíšeme do neho riadok „Ahoj všetci!“, po ktorom prečítame tento riadok zo súboru a zobrazíme ho na obrazovke. Rozhodol som sa urobiť všetko vo forme funkcií, pre opakovane použiteľné použitie, z toho vyšlo toto:

"; inak echo "Nepodarilo sa zapísať údaje!
"; //zatvorte súbor fclose($file); ) funkcia fileread($filename)( //cesta k súboru $path = "files/".$filename.".txt"; //otvorte súbor na čítanie $súbor = fopen($cesta,"r" // ak bol súbor úspešne otvorený if($súbor)( // potom kým súbor nedosiahne koniec while (!feof($súbor)) ( // čítanie údajov); zo súboru $read = fgets ($file // a zobrazí text na obrazovke echo $read."
"; ) ) // ak sa súbor neotvoril, nahláste to inak echo "Chyba pri otváraní súboru
"; // Zatvorte súbor fclose($file); ) // Vytvorenie súboru fcreate("test","Ahojte všetci!"); // Čítanie údajov zo súboru fileread("test"); ?>

Teraz môžete vytvárať a upravovať súbory.
————————
Čo viete o najvýkonnejších superpočítačoch? Nič? Potom si prečítajte tu

Ak sa učíte pracovať s PHP sami, potom je dôležité naučiť sa čítať dáta zo súboru a robiť v nich zmeny. Zaznamenávanie do súboru php sa vykonáva pre vývoj webových aplikácií, zmenu informácií o serveri a spúšťanie externých programov a inklúzií.

Ako pracovať so súbormi php

Ak má súbor takúto príponu, znamená to, že obsahuje programový kód napísaný v programovacom jazyku s rovnakým názvom. Ak chcete vykonať zmeny, budete si musieť do počítača nainštalovať jeden zo softvérových editorov:

PHP Expert Editor;
. Dreamweaver;
. Vývoj Eclipse PHP;
. PHPEdit.

Ak vytvárate webovú stránku, potom často potrebujete použiť identické návrhy, ktoré sú pohodlne uložené ako šablóny v inom súbore. Na tento účel je lepšie použiť include. Po zadaní tejto funkcie je potrebné do súboru php napísať názov a príponu pripojenia, napríklad include 1.php. Tento dizajn podporuje viacnásobné čítanie priloženého súboru a ďalšou vlastnosťou je kontinuita vykonávania kódu v prípade chyby. Ak sa niečo pokazí, kód sa bude naďalej vykonávať z nového riadku.
Týmto spôsobom zahrniete súbor do kódu. Ďalším spôsobom je zadať požiadavku. Na rozdiel od vyššie opísaného zahrnutia je súbor zahrnutý pred spustením programového kódu, ale môžete k nemu pristupovať iba raz.

Overenie súboru

Pred zápisom do súboru php sa musíte uistiť, že existuje, a potom ho otvoriť a vykonať potrebné úpravy. Ak to chcete urobiť, môžete použiť funkciu file_exists(), ak potvrdí prítomnosť, v okne editora sa vráti odpoveď TRUE, inak - FALSE.
Ďalšia funkcia is_file() vás môže upozorniť, že je možné zapisovať dáta do php súboru. Je spoľahlivejší ako file_exits a väčšina programátorov používa na spustenie is_file. Po overení, že súbor existuje, môžete s ním začať pracovať.

Vykonávanie zmien v súbore

Prvý nástroj, ktorý môžete použiť na vykonanie zmien v súbore, je fwrite(). Píše riadky s nasledujúcou syntaxou:

Int - manipulátor;
. Reťazec je premenná.

Existuje ďalšia podobná funkcia - fputs(), čo je alias. Medzi týmito nástrojmi nie sú žiadne rozdiely, môžete si vybrať jeden alebo druhý. U študentov je bežnejší fwrite, zatiaľ čo praktizujúci programátori najčastejšie využívajú fputs.

Ak chcete urobiť PHP záznam do textového súboru, musí byť splnená jedna dôležitá podmienka - musí byť otvorený pre editáciu. Tento súbor musí byť umiestnený v priečinku s oprávneniami na zápis.

Ak chcete pracovať, skúste najskôr otvoriť textový dokument v programe a potom vykonať úpravy pomocou bežných nástrojov.

// Otvorenie textového súboru
$f = fopen("text.txt", "w");
// Napíšte reťazec textu
fwrite($f, "Dobrý deň! Dobrý deň!");
// Zatvorte textový súbor
fclose($f);

V tomto príklade je text.txt názov dokumentu. Môžete to nazvať inak: „Ahoj! Dobrý deň! - príklad textu, môže byť úplne ľubovoľný. Všetky zmeny sa automaticky uložia do otvoreného súboru.

Všimnite si, že PHP je všeobecný účel. Intenzívne sa využíva na tvorbu webových aplikácií. Toto riešenie podporuje väčšina poskytovateľov hostingu. Hovoríme o lídrovi medzi nástrojmi, ktoré sa používajú na tvorbu webových stránok. Teraz viete, ako zapisovať do súboru php.

16,5 tis

V skutočnosti, ako otvoriť súbor php, nie je veľký problém. Keď ste uprostred lesa, môže byť ťažšie otvoriť fľašu piva. Takto však uvažujú iba zanietení programátori. A pre začiatočníkov vám povieme o všetkých možnostiach PHP pre prácu so súbormi:

php súbory

Súbory s príponou php obsahujú kód napísaný v rovnomennom programovacom jazyku. Na rozdiel od iných jazykov je php programovací jazyk na strane servera. To znamená, že beží na strane servera. Preto na ladenie jeho kódu musí byť na klientskom počítači nainštalovaný lokálny server.

Na prácu s php súbormi sa používajú špeciálne aplikácie - softvérové ​​editory. Najbežnejšie sú:

  • Dreamweaver.
  • PHPEdit.
  • Vývoj Eclipse PHP.
Pri vytváraní webových stránok založených na PHP možno budete musieť znova použiť programový kód. V takýchto situáciách je vhodné pripojiť hotové riešenia umiestnené v inom súbore. Používa sa na to konštrukcia include. Jeho syntax je:

zahrnúť názov súboru

Príklad pripojenia:

Zahrnutý súbor:


Zahrnutie súboru je tiež možné pomocou konštrukcie require. Na rozdiel od include obsahuje súbor pred spustením programového kódu. Použitím požiadavky v kóde je možné len jedno volanie tohto súboru. Pri opätovnom prístupe systém zobrazí globálnu chybovú správu a zastaví vykonávanie programu.

Konštrukt include zahŕňa zdroj iba počas vykonávania programu. Podporuje viacnásobné čítanie súboru php. Ak sa vyskytne chyba, zobrazí sa iba varovné hlásenie a vykonávanie kódu bude pokračovať od ďalšieho riadku.

Otváranie a zatváranie súborov

V php sa všetky operácie so súbormi vykonávajú v niekoľkých fázach:

  • Otvorenie súboru;
  • Úprava obsahu;
  • Zatvorenie súboru.

Funkcia fopen() sa používa na otvorenie súboru. Jeho syntax je:

int fopen(reťazec názov súboru, režim reťazca [, int use_include_path])

Akceptované argumenty:

  • string filename – názov súboru alebo absolútna cesta k nemu. Ak cesta k súboru nie je zadaná, bude sa hľadať v aktuálnom adresári. Ak hľadaný súbor chýba, systém zobrazí chybové hlásenie. Príklad:

  • string mode – označuje režim otvárania súboru. Hodnoty akceptované argumentom:
  • r – súbor je otvorený len na čítanie, ukazovateľ súboru je nastavený na začiatok;
  • r+ – súbor je otvorený na čítanie a zápis;
  • w – vytvorí nový súbor len na zápis. Ak súbor s rovnakým názvom už existuje, všetky údaje v ňom sa automaticky vymažú;
  • w+ - vytvorí nový súbor na zápis a čítanie. Keď takýto súbor existuje, jeho údaje sa úplne prepíšu novými;
  • a – súbor je otvorený na zápis. Ukazovateľ je nastavený na koniec. To znamená, že zápis do súboru php sa nezačne od začiatku, ale od konca;
  • a+ – otvorenie súboru v režime čítania a zápisu. Nahrávanie sa spustí od konca;
  • b – režim práce so súborom obsahujúcim binárne dáta (v dvojkovej číselnej sústave). Tento režim je dostupný len v operačnom systéme Windows.

Ak chcete zatvoriť prístup k súboru, použite funkciu fclose(). Syntax:

int fclose (súbor int) , kde súbor int je popisovač lokality na zatvorenie.

Po každom čítaní alebo zápise je potrebné súbor zatvoriť pomocou tejto funkcie. V opačnom prípade zostane prúd vytvorený pre súbor otvorený. A to vedie k zbytočnej spotrebe kapacity servera.

Príklad:

Čítanie a zápis súborov

Na jednoduché zobrazenie celého obsahu súboru je ideálna funkcia readfile(). Jeho syntax je:

readfile (reťazcový názov súboru) , kde string filename je názov súboru s reťazcom (nie handle).


Rovnaký súbor je možné prečítať pomocou funkcie fpassthru(). Číta dáta od koncovej pozície ukazovateľa až po koniec súboru. Jeho syntax je:

int fpassthru (súbor int)

Funkcia vyžaduje otvorenie a zatvorenie súboru. Príklad:

Výsledok je podobný predchádzajúcemu.

Funkcie na prácu so súbormi v php vám umožňujú čítať obsah riadok po riadku a znak po znaku:

  • string fgets (súbor int, dĺžka int)– funkcia číta reťazec dĺžky length . Príklad:

  • reťazec fread (súbor int, dĺžka int)– akcia je totožná s predchádzajúcou.

Na zapisovanie textových údajov do súboru existujú dve rovnaké funkcie:

  • int fputs (súbor int, reťazec [, dĺžka int ])
  • int fwrite(súbor int, reťazec [, dĺžka int])

Funkcie zapisujú do súboru int reťazec reťazec zadanej dĺžky int length ( voliteľný argument). Príklad:

Vytváranie a odstraňovanie súborov

Na vytvorenie súboru php môžete použiť funkciu fopen() v režime prístupu „w“ alebo „w+“. Alebo funkcia touch(). Nastavuje čas úpravy súboru. Ak neexistuje žiadny prvok s hľadaným názvom, vytvorí sa. Jeho syntax.

PHP sa objavilo oveľa neskôr ako programovacie jazyky, posilnilo svoje pozície a formulovalo všeobecné predstavy o syntaxi, logike, premenných a iných programových objektoch. Súbory a funkcie na prácu s nimi nenapredovali a ani problém s kódovaním súborov, ktorý vznikol z prirodzených dôvodov, neviedol k radikálne novým riešeniam.

Všeobecné poznámky

Hlavná práca so súbormi, nech už sú akékoľvek, pozostáva z otvárania, čítania/zápisu a zatvárania. Môžete využiť funkcie blokovania/odblokovania prístupu k súboru počas jeho spracovania, môžete nastaviť pozíciu čítania/zápisu v súbore – všetko je ako predtým, v dávnej minulosti.

Dôležitým bodom v PHP je množstvo funkcií na prácu so súbormi a možností ich použitia. V praxi stačí využiť jednoduché, no fungujúce možnosti. Súbor je predovšetkým pamäť programu. Môžete v ňom ukladať informácie. Účelom akéhokoľvek programu, účelom akejkoľvek webovej stránky je prezentovať, spracovávať a zaisťovať bezpečnosť informácií.

Podstatná okolnosť

Predtým bola požiadavka na kompatibilitu, aspoň zdola nahor, neotrasiteľná. To znamená, že program napísaný v jednej verzii programovacieho jazyka je ideálne skompilovať/interpretovať v ďalšej verzii. V modernom programovaní to tak nie je. Požiadavka na kompatibilitu syntaktických štruktúr jazyka sa stala dejinami a boj medzi štýlmi a programovacími nástrojmi a verziami určitých nástrojov sa stal normou ich života.

Práca so súbormi, ako aj s databázami, je rovnako dôležitá ako rozhranie lokality. Prvý by mal byť postavený tak, aby pri zmene platformy, hostingu alebo jazykovej verzie nebolo potrebné meniť kód stránky. Rozhranie pre prácu so súbormi musí byť zahrnuté v samostatnom skripte a musí zabezpečiť plnú kompatibilitu, rovnako ako dizajn stránky sa musí adekvátne prispôsobiť akémukoľvek zariadeniu, prehliadaču a poskytovať ostatné funkcie stránky s rovnakými možnosťami.

Čítajte a zmeňte sa

Môže sa program zmeniť sám, to znamená, môže sa zlepšiť skript? Dodnes táto otázka zaujíma mnohých. Úloha však znie oveľa praktickejšie: PHP čítanie súboru PHP. Vývojár nemôže vždy vyriešiť konkrétny problém napísaním špecifického kódu. Niekedy je potrebné ho zmeniť, keď návštevník príde na stránku a sformuluje otázku, ktorá nebola predvídaná vo fáze vývoja.

Ako vo všetkých ostatných prípadoch, najprv musíte otvoriť súbor. Nezáleží na tom, či tento súbor existuje alebo nie. Ak je známe, že súbor existuje (funkcia file_exists() dáva kladnú odpoveď), použije sa funkcia fopen() s prístupom 'r', 'r+', 'a', 'a+'. Ak súbor ešte neexistuje, potom s prístupom „a“, „a+“, „w“, „w+“. Výsledkom otvorenia súboru bude jeho deskriptor. Súbor sa uzavrie funkciou fclose().

Je vhodné použiť PHP na čítanie súboru do poľa, keď nie je potrebné ho spracovávať v čase čítania.

if (file_exists($fName)) (

$aLines = súbor($fName)

Pri tejto možnosti prechádza každý riadok súboru do prvku poľa postupne. Treba poznamenať, že funkcie file() alebo file_get_contents() nemusia otvárať súbor a zatvárať ho.

Keď je vstupný súbor príliš veľký a potrebujete nájsť len málo informácií, alebo z iných dôvodov, môžete použiť PHP na čítanie súboru riadok po riadku. PHP poskytuje možnosť to urobiť pomocou funkcií fgets() a fgetc().

$fvs = fopen($fName, "r")

while ((false !== ($cLine = fgets($fvs, 2000)))) (

$cLines .="
". $i."). $cLine

Obe možnosti fungujú bezchybne. Avšak pri vykonávaní PHP čítania súboru PHP na neskoršie úpravy by sa mali prijať preventívne opatrenia. Nie je vždy možné predvídať, ako ho návštevník použije vo fáze vývoja stránky. Je lepšie, ak sa skripty menia v rámci funkcií stránky a kontrola tejto zmeny nie je dostupná pre návštevníka, vrátane správcu zdrojov.

Ukladajú sa výsledky

Prijaté a aktualizované informácie zapisuje do súboru funkcia fputs() riadok po riadku alebo funkcia file_put_contents() ako celok.

$fName = $_SERVER["DOCUMENT_ROOT"] . "/tmp/scData.php"

$fvs = fopen($fName, "a")

kŕdeľ ($fvs, LOCK_EX)

$cLine = "1 riadok". chr(10)

fputs($fvs, $cLine)

$cLine = "2 riadok" . chr(10)

fputs($fvs, $cLine)

kŕdeľ ($fvs, LOCK_UN)

Vo voľbe záznamu po riadkoch môžete počas procesu záznamu manipulovať s údajmi, v druhom prípade sa zapísaný reťazec alebo pole umiestni do celého súboru.

$file = " scData.php "

$cContents = file_get_contents($file)

// pridanie položky

$cContents .= "nový záznam\n"

// zapíšte súbor späť

file_put_contents($file, $cContents)

Čítanie a písanie súborov PHP je jednoduché a prirodzené. Je však dôležité mať na pamäti: každý súbor má názov, príponu a cestu (priečinok). Aby PHP skript mohol čítať a zapisovať súbory, musí mať skript príslušné práva. Automaticky sú vystavené na hostingu, no v niektorých prípadoch je potrebné ich rozšíriť.

V niektorých prípadoch môže byť žiaduce overiť výsledky vykonaním testu. Zápis súborov PHP to vyžaduje počas vývoja, ale v niektorých prípadoch je v záujme bezpečnosti alebo spoľahlivosti stránok nevyhnutná kontrola zaznamenávania údajov.

Charakteristickým znakom PHP, MySQl, JavaScriptu a najmä prehliadačov: tiché umožnenie výskytu niektorých chýb. „Neuznané, nevykonané...“ nie je veľmi dobrou praxou na vrchole informačných technológií, ale učí vývojárov nerobiť chyby a písať čistý a kvalitný kód, čo tiež nie je zlé.

PHP a práca s reálnymi dokumentmi

PHP čítanie súboru PHP je určite praktické, ale toto je oblasť programovania. Používateľa a návštevníka stránky zaujímajú informácie aplikovaného charakteru, ktoré je zvyknutý vidieť vo forme tabuliek a dokumentov najmä vo formátoch *.xlsx a *.docx. Ide o súbory vo formáte MS Excel a MS Word.

Zoznamy tovaru, cien, charakteristík sú zvyčajne tvorené vo forme tabuliek, takže PHP čítanie súboru Excel je nevyhnutné.

Na prácu s takýmito súbormi boli vyvinuté knižnice PHPExcel a PHPWord. Obsah súborov *.xlsx a *.docx je však prezentovaný v štandarde OOXML, to znamená, že skutočný, zrozumiteľný dokument je prezentovaný v archíve zip. Archív Zip je súbor súborov vrátane obrázkov, objektov, vzorcov a príloh z iných programov. Textové súbory sú tu reprezentované popismi vo forme značiek. Čítanie takéhoto súboru nestačí, musíte ho analyzovať, aby ste získali obsah a štruktúru na použitie a úpravu.

To znamená, že operácia čítania sa zmení na procedúru otvárania archívu. Tieto knižnice otvárajú archív dokumentov samostatne a poskytujú vývojárovi rozsiahle funkcie na čítanie, spracovanie a písanie takýchto dokumentov.

Excelové tabuľky

include_once 'PhpOffice/PhpExcel/IOFactory.php'

funkcia scGetExcelFile($xls)(

$objPHPExcel = PHPExcel_IOFactory::load($xls)

$objPHPExcel->setActiveSheetIndex(0)

//toto pole obsahuje polia reťazcov

$aSheet = $objPHPExcel->getActiveSheet()

$array = array()

//liečba

foreach($aSheet->getRowIterator() ako $row)(

$cellIterator = $row->getCellIterator()

foreach($cellIterator ako $cell)(

array_push($item, iconv("utf-8", "cp1251", $cell->getCalculatedValue()))

array_push($pole, $položka)

Čítanie a spracovanie súborov programu Excel je oveľa náročnejšie ako spracovanie dokumentov programu Word. Najlepšou možnosťou, ak potrebujete implementovať seriózny projekt na čítanie a spracovanie aplikovaných informácií, je najprv zvládnuť knižnicu PHPWord. Získate tak dobré skúsenosti a rýchle pochopenie špecifík danej problematiky.

Dokumenty programu Word

Len dva riadky:

$oWord = nový \PhpOffice\PhpWord\PhpWord()

$oDocx = $this->oWord->loadTemplate($cFileName)

Dokument $cFileName je teraz k dispozícii na spracovanie. Ďalej sa otvorí archív, vyberie sa a analyzuje sa jeho obsah, ktorý je možné zobraziť na webovej stránke, zmeniť a zapísať.

$zipClass = nový archív ZipArchive()

$zipClass->open($this->tempFileName)

// prečítať celý obsah dokumentu

pre ($i=0; $i<$zipClass->numFiles; $i++) (

$cNameIn = $zipClass->getNameIndex($i)

$cNameInExt = substr($cNameIn, -4)

if (($cNameInExt == ".xml") || ($cNameInExt == "rels")) (

// súbory s príponami ".xml" a ".xml.rels" sú uložené v tabuľke dokumentov

// každý xml riadok je zapísaný s jedinečným číslom v poradí

$cBodyIn = $zipClass->getFromName($cNameIn)

$cBodyInLen = strlen($cBodyIn)

// všetky ostatné súbory sa zapíšu do priečinka dokumentov tak, ako sú

$cNameOnly = substr($cNameIn, strrpos($cNameIn, "/") + 1)

$zipClass->getFromName($cNameIn, $cWorkPath); // obsah ako súbor

Možnosti, ktoré ponúka PHP Excel a PHP Word, vám umožňujú manipulovať so skutočnými dokumentmi a urobiť ich obsah relevantný v akomkoľvek danom čase. V dnešnom dynamickom svete je to veľmi dôležité. Ťažisko sa už dávno presunulo z lokálneho využívania výpočtovej techniky do virtuálneho internetového priestoru. Vytváranie tabuliek a dokumentov v lokálnych produktoch Microsoftu je preto menej efektívne ako práca s takýmito dokumentmi v automatickom a poloautomatickom režime na webovej stránke, ktorá je prístupná nielen pre tvorcu tabuľky či dokumentu, ale aj pre jej spotrebiteľov.

Textové súbory, iný život

Na prvý pohľad sú textové súbory jednoduchšie ako súbory PHP alebo aplikačné dokumenty. Je tu však o čom premýšľať. Operácie čítania/zápisu takýchto súborov sú už uvedené vyššie, ale význam takýchto súborov je oveľa dôležitejší.

Keďže existuje taká danosť ako klient a server (v prvom dominuje JavaScript, v druhom PHP), potom ani mechanizmy cookie a sessions nedokážu zvládnuť potrebu prenosu informácií medzi skriptami, stránkami alebo určitými procesmi.

Je možné reflektovať požadované zmeny v databáze, no napriek všetkým svojim výhodám a rýchlosti môžu byť malé dočasné alebo trvalé textové súbory oveľa zaujímavejšou možnosťou prenosu informácií. Ak nevytvárate veľa malých súborov a nekontrolujete ich veľkosť, môžu byť špecifickou a flexibilnejšou verziou databázy.

PHP čítanie textového súboru je rýchle, možno ho okamžite analyzovať do štruktúry, poľa alebo objektu. To druhé je veľmi dôležité, pretože vám umožňuje vytvárať objekty, ktoré žijú mimo času určeného pre skript PHP, ktorý, ako viete, môže existovať iba na serveri a iba v momente načítania stránky sa zobrazí odpoveď AJAX. vygenerované alebo z iného dôvodu, ktorý spôsobí spustenie interpretera PHP.

Ak sa zamyslíte nad skutočnosťou, že textový súbor je obsahom a štruktúrou od vývojára, súbor PHP je syntaxou interpreta plus logika vývojára a „tagované“ popisy html, css, xml sú sémantické prvky, ale regulované podľa statických noriem. Možno dospejeme k záveru, že je zrejme čas, aby súbory získali nový obsah, a to by malo samo určovať ich kvalitu a logiku použitia. Práve preto, že programovanie ešte nie je pripravené na ďalšiu etapu svojho vývoja, súbory dnes zostávajú iba súbormi, ktoré vývojár vytvára a určuje ich použitie.

Najzaujímavejšia a najsľubnejšia vec je, keď PHP číta súbor PHP nezávisle, keď to bude potrebné. A jednoduché PHP načítanie riadku zo súboru má za následok vytvorenie objektu, aspoň v stave, v akom bol uložený. Nie sú to úplne známe nápady, ale v modernom svete sa všetko tak rýchlo mení.



 

Môže byť užitočné prečítať si: