PHP: čtení souboru PHP. Práce se soubory v PHP: čtení, psaní a doporučení
PHP se objevil mnohem později než programovací jazyky posílily své pozice, formulovaly obecné koncepty o syntaxi, logice, proměnných a dalších objektech programů. Soubory a funkce práce s nimi neměly žádný pokrok, a ani problém kódování souborů, který vznikl z přirozených důvodů, nevedl k kardinálně novým řešením.
Obsah
Obecné poznámky
Hlavní práce se soubory, ať už jsou jakékoliv, jsou otevření, čtení / zápis a zavření. Funkci zamknutí / odemknutí můžete použít k přístupu k souboru při jeho zpracování, můžete nastavit čtení a zápis v souboru - vše, stejně jako předtím, ve vzdálené minulosti.
Důležitým bodem v PHP je nadbytek funkcí při práci se soubory a možnosti jejich použití. V praxi stačí použít jednoduché, ale pracovní varianty. Soubor je především programová paměť. Může ukládat informace. Účel každého programu, účel každého místa - reprezentovat, zpracovat a zajistit bezpečnost informací.
Podstatná okolnost
Předtím byl požadavek na kompatibilitu alespoň zespodu nahoru neotřesitelný. To znamená, že jakmile je napsán program na jedné verzi programovacího jazyka, je ideálně kompilován / interpretován v další verzi. V moderním programování to tak není. Požadavek slučitelnosti syntaktických konstrukcí jazyka se v dějinách snižoval a boj mezi styly a prostředky programování a verzí těchto nebo jiných nástrojů se stal normou jejich života.
Práce se soubory, stejně jako s databázemi je stejně důležitá jako rozhraní stránky je důležité. První by měla být postavena tak, aby při změně platforem, hostingu, jazykových verzích nemusíte měnit kód místa. Rozhraní pracující se soubory by mělo být umístěno v samostatném skriptu a zajistit plnou kompatibilitu, stejně jako návrh stránky musí být přiměřeně přizpůsoben jakémukoli zařízení, prohlížeči a poskytnout zbytek funkčnosti webu stejné příležitosti.
Přečtěte si a změňte se
Může se program změnit sám, to znamená, že může být skript vylepšen? K dnešnímu dni je tato záležitost zajímavá pro mnohé. Úloha je však mnohem praktičtější: PHP si čte soubor PHP. Ne vždy vývojář může tento nebo ten úkol vyřešit psaním určitého kódu. Někdy je nutné jej změnit, když návštěvník přišel na místo a formuloval otázku, která nebyla předvídána ve fázi vývoje.
Stejně jako ve všech ostatních případech musíte nejdříve otevřít soubor. Nezáleží na tom, zda tento soubor existuje nebo ne. Pokud víte, že soubor existuje (funkce file_exists () dává pozitivní odpověď), použijete funkci fopen () s přístupem lsquo-rrsquo-, lsquo-r + rsquo-, lsquo-arsquo-, lsquo-a + rsquo-. Pokud soubor již není, pak s přístupem lsquo-arsquo-, lsquo-a + rsquo-, lsquo-wrsquo-, lsquo-w + rsquo-. Výsledkem otevření souboru bude jeho popis. Soubor je uzavřen fclose ().
Je vhodné použít PHP k čtení souboru do pole, když není potřeba jej zpracovávat v době čtení.
pokud (file_exists ($ fName)) {
$ aLines = soubor ($ fName)
}}
V tomto případě každý řádek souboru vstupuje postupně do elementu pole. Je třeba poznamenat, že funkce souboru () nebo file_get_contents () nemusí otevřít soubor a zavřít jej.
Pokud je vstupní soubor příliš velký a potřebujete najít dost informací, nebo z jiných důvodů, můžete použít řádek pro čtení souboru podle řádku. PHP umožňuje tuto funkci pomocí funkcí fgets () a fgetc ().
$ cLines = ``
$ fvs = fopen ($ fName, `r`)
$ i = 0
($ fLs = fgets ($ fvs, 2000))))) {
$ i ++
$ cLines. = `
`. $ i. `). `. $ cLine
}}
fclose ($ fvs)
Obě možnosti fungují bezchybně. Nicméně, při provádění PHP čtení souboru PHP pro pozdější modifikaci, měli byste dodržovat bezpečnostní opatření. V průběhu vývoje webových stránek není vždy možné poskytnout návštěvníkům varianty jejich využití. Je lepší, pokud se změna skriptů provádí v rámci funkcí webu a správa této změny není pro návštěvníka k dispozici, včetně správce prostředků.
Uložení výsledků
Přijaté a aktualizované informace jsou zapsány do souboru podle funkce fputs () podle řádku nebo podle funkce file_put_contents ().
$ fName = $ _SERVER [`DOCUMENT_ROOT`]. `/tmp/scData.php`
$ fvs = fopen ($ fName, `a`)
hejno ($ fvs, LOCK_EX)
$ cLine = `1 řádek`. chr (10)
fputs ($ fvs, $ cLine)
$ cLine = `2 řádky`. chr (10)
fputs ($ fvs, $ cLine)
fflush ($ fvs)
hejno ($ fvs, LOCK_UN)
fclose ($ fvs)
V řádkové verzi záznamu můžete manipulovat s daty během procesu zápisu, ve druhém případě je záznamový řetězec nebo matice umístěn v souboru jako celek.
$ soubor = `scData.php`
$ cContents = file_get_contents (soubor $)
// přidání záznamu
$ cContents. = "nový vstup n"
// napište soubor zpět
file_put_contents ($ file, $ cContents)
Čtení a psaní souborů PHP je jednoduché a přirozené. Je však důležité mít na paměti: každý soubor má název, příponu a cestu (složku). Aby skript PHP mohl číst a psát soubory, musí mít tento skript příslušná práva. Ty jsou automaticky umístěny na hostingu, ale v některých případech je třeba je rozšiřovat.
V některých případech je vhodné kontrolovat výsledky testováním. Psaní souborů PHP to vyžaduje během vývojové fáze, avšak v některých případech je v zájmu bezpečnosti nebo spolehlivosti stránek ověření datového záznamu nezbytné.
Charakteristickou vlastností PHP, MySQL, jаvascriptu a zejména prohlížečů: ticho nechat jít o některé chyby. "To nebylo uznáno, nestalo se to hellip- "není dobrou praxí špičkové technologie informačních technologií, ale učí vývojáře, aby nedělali chyby a psali čistý a kvalitní kód, což není také špatné.
PHP a práce s reálnými dokumenty
PHP čtení souboru PHP má určitě praktický zájem, ale je to programovací oblast. Uživatel a návštěvník stránek se zajímají o informace o aplikované povaze, kterou je zvyklý vidět ve formě tabulek a dokumentů, zejména ve formátech * .xlsx a * .docx. Tyto soubory jsou ve formátu MS Excel a MS Word.
Seznamy zboží, ceny, charakteristiky jsou obecně tvořeny ve formě tabulek, takže PHP čtení souboru Excel je zásadní.
K práci s takovými soubory byly vyvinuty knihovny PHPExcel a PHPWord. Obsahy souborů * .xlsx a * .docx jsou však zastoupeny v standardu OOXML, tj. Aktuální dokument přístupný k pochopení je reprezentován archívem zip. Zip archiv je spousta souborů, včetně obrázků, objektů, vzorců, vkládání z jiných programů. Textové soubory zde jsou reprezentovány popisy ve formě značek. Nestačí přečíst takový soubor, potřebujete jej analyzovat, abyste získali obsah a strukturu pro použití a úpravu.
To znamená, že operace čtení se stává procesem otevření archivu. Tyto knihovny samy otevírají archiv dokumentu a poskytují vývojáři rozsáhlé funkce pro čtení, zpracování a záznam takových dokumentů.
Excel tabulky
Pro čtení tabulky aplikace Excel stačí znát název souboru a cestu k němu ($ xls). V důsledku provedení následujícího kódu bude vytvořeno pole hodnot původní tabulky aplikace Excel:
include_once lsquo-phpOffice / PhpExcel / IOFactory.php `
funkce scGetExcelFile ($ xls) {
$ objPHPExcel = PHPExcel_IOFactory :: zatížení ($ xls)
$ objPHPExcel-> setActiveSheetIndex (0)
// toto pole obsahuje pole řetězců
$ aSheet = $ objPHPExcel-> getActiveSheet ()
$ array = pole ()
// zpracování
foreach ($ aSheet-> getRowIterator () jako řádek $) {
$ cellIterator = $ řádek-> getCellIterator ()
$ položka = pole ()
foreach ($ cellIterator jako $ buňka) {
array_push ($ položka, iconv (`utf-8`, `cp1251`, $ cell-> getCalculatedValue ()))
}}
array_push ($ array, $ položka)
}}
vrátí pole $
}}
Čtení a zpracování souborů aplikace Excel je mnohem obtížnější než zpracování dokumentů aplikace Word. Nejlepším řešením, pokud potřebujete implementovat seriózní projekt pro čtení a zpracování informací o aplikaci, je nejprve zvládnout knihovnu PHPWord. To poskytne dobré zkušenosti a rychlý vstup do specifik problémů.
Dokumenty aplikace Word
Pouze dva řádky:
$ oWord = nový PhpOffice PhpWord PhpWord ()
$ oDocx = $ this-> oWord-> loadTemplate ($ cFileName)
Nyní je dokument $ cFileName k dispozici pro zpracování. Pak otevře archiv, vybírá a analyzuje jeho obsah, který lze na webu zobrazit, změnit a zapsat zpět.
$ zipClass = nový ZipArchive ()
$ zipClass-> otevřít ($ this-> tempFileName)
// přečtěte celý obsah dokumentu
pro ($ i = 0- $ i<$ zipClass-> numFiles- $ i ++) {
$ cNameIn = $ zipClass-> getNameIndex ($ i)
$ cNameInExt = substr ($ cNameIn, -4)
pokud (($ cNameInExt == `.xml`) || ($ cNameInExt == `rels`)) {
// Soubory s příponami ".xml" a ".xml.rels" jsou uloženy v tabulce dokumentů
// každý řádek xml je napsán s jedinečným číslem v pořadí
$ cBodyIn = $ zipClass-> getFromName ($ cNameIn)
$ cBodyInLen = strlen ($ cBodyIn)
} else {
// všechny ostatní soubory jsou zapsány do složky dokumentu jako taková
$ cNameOnly = substr ($ cNameIn, strrpos ($ cNameIn, `/`) + 1)
$ zipClass-> getFromName ($ cNameIn, $ cWorkPath) - // obsah jako soubor
}}
Příležitosti, které se otevírají pomocí PHP Excel a PHP Word, vám umožňují manipulovat s reálnými dokumenty a kdykoli je jejich obsah relevantní. V dnešním dynamickém světě je to velmi důležité. Těžiště se již dávno přesunulo z místního využití počítačové techniky na virtuální internetový prostor. Vytvoření tabulek a dokumentů v místních produktech od společnosti Microsoft je tedy méně efektivní než práce s takovými dokumenty v automatickém a poloautomatickém režimu na webu, který je k dispozici nejen tvůrci tabulky nebo dokumentu, ale i jeho zákazníkům.
Textové soubory, jiná životnost
V prvním přiblížení jsou textové soubory jednodušší než soubory PHP nebo aplikační dokumenty. Nicméně je tu něco na přemýšlení. Operace čtení / psaní takových souborů jsou již výše uvedené, ale význam těchto souborů je mnohem důležitější.
Pokud je takový daný, jako klient a server (jаvascript je dominantním prvkem, PHP je první), ani mechanismy cookie a relací se nevyrovnají s potřebou přenášet informace mezi skripty, stránkami nebo některými procesy.
Je možné odrážet nezbytné změny v databázi, ale se všemi jejich výhodami a rychlostí mohou být drobnější dočasné nebo trvalé textové soubory mnohem zajímavější variantou přenosu informací. Pokud nevytváříte mnoho malých souborů a nekontrolujete jejich velikosti, mohou to být konkrétní a flexibilnější verze databáze.
PHP číst textový soubor je velmi jednoduché, může být demontováno okamžitě struktury, pole nebo objektu. Ta je velmi důležitá, protože umožňuje vytvářet objekty, které žijí mimo doby vymezené pro PHP skriptu, který je známo, že existují pouze na serveru, a to pouze při načtení stránky, tvorba AJAX odpověď nebo z jakéhokoli jiného důvodu, volat spuštění PHP interpretru.
Slibné nápady, doporučení
Pokud si myslíte o tom, že textový soubor - to je obsah a struktura developer, PHP souboru - syntaxe tlumočníka navíc Developer logiky a „označili“ popis HTML, CSS, XML - je to více sémantické prvky, ale regulované statické standardy. Dá se dospět k závěru, že je čas na to, aby soubory získaly nový obsah, a musí určit jejich kvalitu a logiku aplikace. Je to proto, že programování není ještě připraven pro další fázi jejího rozvoje, soubory jsou nyní pouze soubory, které developer vytváří a definuje jejich použití.
Nejzajímavější a nejslibnější je, když PHP čte PHP soubor sám o sobě, když to bude nutné. Jednoduché čtení řetězce PHP ze souboru vede k vytvoření objektu, přinejmenším ve stavu, ve kterém byl uložen. To nejsou přesně obvyklé nápady, ale ve skutečnosti se v moderním světě vše změní tak rychle.
- Jak a co otevřít soubor * .pak? Popis formátu * .pak souborů
- Co jsou soubory? Typy souborů
- Nejlepší správce souborů pro ipad
- Otevřít doc-soubor?
- PHP. Práce se soubory a adresáři
- Rozšíření djvu. Jak se otevřít na Androidu a počítači?
- Jak psát do php souboru
- Rozšíření souborů pro programové kódy: cpp je co?
- Java: práce se soubory - psaní, čtení, mazání
- Jak otevřít soubor PDF v systému Android? PocketBok Reader
- Pak otevřete soubory TGA
- Čtení souboru se souborem získává obsahovou funkci PHP
- Dxf-formát, jak otevřít?
- Tmp - co to je? Tmp: popis procesu
- Atributy souboru
- XLS soubory - co je třeba otevřít
- Sloučit sdružování: popis fungování algoritmu a rozdíly s jinými typy uspořádání dat
- Práce s objekty souborů: otevřete, přečtěte a zapisujte soubory do Pythonu
- Jak psát do souboru v jazyce Java
- Kontrola existence souboru PHP file_exists
- Jak sloučit soubory PDF