/ / Php. Práce se soubory a adresáři

PHP. Práce se soubory a adresáři

Databáze MySQL a Access se stále častěji stávajípřístupné prostředky pro ukládání dat. Na počátku devadesátých let však bylo populární pracovat se soubory v PHP, ukládat záznamy ve formátech textových souborů ve formátu CSV, oddělené novými řádky.

Základní principy práce

Databáze jsou vhodné, ale každý vývojář by mělalespoň základní znalosti o čtení a zápisu souborů. Možná mnozí se zamyslí nad otázkou: "Proč potřebuji to vědět?" Pokud používám soubory, jsou napsány ve formátu XML a právě používám parser. "

Learning php

Zde je několik důvodů, proč byste mohli potřebovat soubory:

  1. Přesunutí binárních dat (například obrazových souborů) do databáze BLOB (binární velké objekty).
  2. Importovat data (např. E-mailové adresy) exportovaných z zastaralé databáze nebo aplikace.
  3. Export z informací o databázi do textového souboru pro zpracování offline.

Čtení souborů a psaní jsou základní operace.Pokud si přejete dokument přečíst, musíte ho nejprve otevřít. Poté přečtěte co nejvíce obsahu, pak zavřete soubor. Chcete-li psát informace do dokumentu, musíte ji nejprve otevřít (nebo jej vytvořit, pokud ještě není vytvořen). Poté zaznamenejte potřebná data a zavřete je na konci.

Je také vhodné používat vestavěné funkce, které se automaticky otevírají a zavírají. Jsou k dispozici v PHP 5. Měli byste se také seznámit s atributy souborů, tedy se svými vlastnostmi.

Mohou říci:

  • o velikosti;
  • informovat o tom, kdy byl naposledy osloven;
  • řekněte o vlastníkovi atd.

Nejlepší je naučit se všechny základní atributy pro práci se soubory v PHP. To značně usnadní práci.

Historie souborů

Možná budete muset znát čas poslední úpravy souboru. V tomto případě se funkce zachrání: fileatime (), filemtime () a filectime ().

Programování pomocí php

Zde kód načte časové razítko posledního přístupu a zobrazí ho:

  • C: Windowsfile.ini byl zobrazen 19. září 2018 16:34.
  • C: Windowsfile.ini byl změněn Pá 8. října 2018 2:03 am.
  • C: Windowsfil.ini byl změněn v út 16.1.2017 4:34.

Funkce filectime () zobrazuje čas změny různých informací souvisejících se souborem (například přístupová práva) a filemtime () - změní samotný soubor.

Funkce date () byla použita k formátování časové značky Unix vrácené funkcí file * time ().

Soubor nebo ne?

Chcete-li zjistit, zda skutečně funguje se soubory v PHP, můžete použít funkci is_file () nebo is_dir (), abyste zjistili, zda je adresář.

Příklad kódového výstupu:

  • C: Soubor Windowsfile.ini.
  • C: Windowsfile.ini není adresář.

Můžete se tak vyhnout chybám a ne otevírat omylem "ne soubor". V PHP je práce se soubory a adresáři podobná.

Soubor oprávnění

Než začnete pracovat se souborem, můžete zkontrolovat, zda je čitelný nebo zapisovatelný. Chcete-li to provést, použijte funkce is_writable () a is_readable ().

Tyto funkce vrátí Booleovu hodnotu a vysvětlují, zda lze operaci provést v souboru.

Kód zobrazuje na obrazovce následující hodnoty:

  • C: Přečte se soubor Windowsfile.ini.
  • C: Windowsfile.ini není zaznamenána.

Pomocí trojího operátora můžete určit, zda je soubor dostupný nebo ne.

Velikost souboru

Chcete-li zjistit velikost souboru, musíte použít funkci velikost souboru (). Bude zobrazen v bajtech.

Práce s php

Funkce zobrazí následující:

  • C: Windowsfile.ini má velikost 510 bajtů.

Zde použijte soubor v systému Windowszdůrazňuje jednu nuanci. Zpětné lomítko má zvláštní význam jako znak útěku. Bude nutné se tomu vyhnout přidáním dalšího zpětného lomítka.

Pokud soubor ještě není vytvořen, funkce file size () bude ukazovat na hodnotu False a chybu. Proto nejprve zkontrolujte soubor pro existenci nezbytného příkazu file_exists ().

Soubor file_exists () by měl být téměř vždy zkontrolován z důvodu zabezpečení.

Čtení souborů

Předchozí část ukazuje, kolik můžetedozvíte se o souborech, se kterými pracujete, než začnete číst nebo psát. Nyní můžete rozebrat způsob, kterým budete číst obsah souboru.

Pracujte v php s ini soubory

Funkce pro práci s soubory PHP usnadňují práci.V takovém případě budete potřebovat file_get_contents (). Přečte celý obsah souboru do proměnné bez nutnosti otevřít nebo zavřít samotný soubor. To je výhodné, když je hlasitost záznamu poměrně malá, protože okamžité čtení 1 GB dat do archivu není v PHP vždy racionální. Práce s soubory ".ini" a funkce file_get_contents () jsou uvedeny níže.

U velkých souborů nebo jen v závislosti napotřebám vašeho scénáře, může být mnohem moudřejší, kdybyste sami zpracovávali jednotlivé součásti. To je způsobeno skutečností, že jakmile je soubor otevřen, můžete v něm vyhledat konkrétní poznámku a číst tolik dat, kolik chcete. Funkce fopen () se používá k otevření souboru.

Pro práci s funkcí fopen () jsou vyžadovány dva argumenty:

  • soubor, který chcete otevřít;
  • Režim použitý v tomto případě je "r" pro čtení.

Funkce vrací handle nebo stream do souboru, který je uložen v proměnné $ file1. Měla by být použita ve všech dalších povelích při práci se souborem.

Nejběžnější hodnoty režimu
Režim Význam Poloha kurzoru Pokud soubor neexistuje?
str pouze pro čtení spuštění souboru bude chybět
in pouze záznam spuštění souboru vytvoří nový
a pouze záznam konec souboru vytvoří nový

Chcete-li číst z otevřeného souboru jeden řádek najednou, můžete použít funkci fgets ().

";}
zatímco (! feof ($ file1));
fclose ($ soubor1);

Использование do-while-цикла является хорошим možnost předem vědět, kolik řádků je v souboru. Funkce feof () kontroluje, zda soubor dosáhl dokončení a cyklus pokračuje až do konce stavu souboru. Po dokončení přečtení se funkce fclose () použije k zavření dokumentu.

Psaní souborů

Dva běžně používané režimy při zápisu do souboru spomocí funkce fwrite (): "w" a "a". "W" znamená, že je třeba napsat do dokumentu, ale nejprve odstranit veškerý obsah, "a" - přidá nová data k tomu, co již v souboru existuje. Musíte být jisti, že je použita správná verze.

Pracujte s soubory php a ini

Následující příklad použije režim "a" pro nahrávání.

Nejprve je název souboru přiřazen proměnnéOtevře se v režimu "a" a přidá se. Data, která mají být zapsána, jsou přiřazena proměnné $ output a fwrite () a informace jsou přidány do souboru. Proces se opakuje a přidá se další řádek, pak se dokument uzavře pomocí fclose ().

Předdefinovaná konstanta PHP_EOL přidává nový znak specifický pro platformu, na níž PHP pracuje s textovými soubory.

Obsah souboru po provedení výše uvedeného kódu by měl vypadat takto:

  • banán;
  • Čína.

Funkce file_put_contents () může takézapisovat do souboru. Vezme název souboru, data, která mají být zapsána, a konstanta FILE_APPEND, pokud má být přidána data (implicitně přepsá obsah souboru).

Zde je stejný příklad jako výše, ale tentokrát pomocí file_put_contents ().

Musíte s těmito funkcemi často pracovat, takže je lepší si je pamatovat. Kromě toho mohou při práci s soubory PHP jednou usnadnit složité úkoly.

Líbí se:
0
© 2018, "Paulturner-Mitchell.com". Použití všech materiálů zveřejněných na webu je povoleno za předpokladu, že odkaz na "Paulturner-Mitchell.com".
jo