Práce se soubory PHP a funkce

Co je to soubor?

Soubor je jednoduše prostředek pro ukládání informací v počítači.

Soubory se obvykle používají k ukládání informací, jako jsou:

  • Nastavení konfigurace programu
  • Jednoduchá data, jako jsou jména kontaktů oproti telefonním číslům.
  • Obrázky, obrázky, fotky atd.

Podpora formátů souborů PHP

Souborové funkce PHP podporují širokou škálu formátů souborů, které zahrnují:

  • Soubor.txt
  • Soubor.log
  • File.custom_extension tj. soubor.xyz
  • Soubor.csv
  • Soubor.gif, soubor.jpg atd
  • Soubory poskytují trvalé nákladově efektivní řešení ukládání dat pro jednoduchá data ve srovnání s databázemi, které vyžadují jiný software a dovednosti pro správu systémů DBMS.
  • Chcete ukládat jednoduchá data, jako jsou protokoly serveru, pro pozdější vyhledávání a analýzu
  • Chcete uložit nastavení programu, např. program.ini

Funkce PHP file().

PHP poskytuje pohodlný způsob práce se soubory prostřednictvím bohaté sbírky vestavěných funkcí.

Operatingové systémy jako např Windows a MAC OS nerozlišují malá a velká písmena Linux or Unix operační systémy rozlišují velká a malá písmena.

Přijetí převodu pojmenování, jako jsou malá písmena pouze pro pojmenování souborů, je dobrou praxí, která zajišťuje maximální kompatibilitu mezi platformami.

Podívejme se nyní na některé z nejčastěji používaných souborových funkcí PHP.

Funkce PHP file_exists().

Tato funkce se používá k určení, zda soubor existuje nebo ne.

  • Hodí se, když chceme před zpracováním zjistit, zda soubor existuje nebo ne.
  • Tuto funkci můžete také použít při vytváření nového souboru a chcete se ujistit, že soubor již na serveru neexistuje.

Funkce file_exist má následující syntaxi.

<?php
file_exists($filename); 
?>

TADY,

  • „file_exists()“ je funkce PHP, která vrací true, pokud soubor existuje, a false, pokud neexistuje.
  • „$file_name“ je cesta a název souboru, který má být zkontrolován

Níže uvedený kód používá funkci file_exists k určení, zda soubor my_settings.txt existuje.

<?php
if (file_exists('my_settings.txt'))
 {    
        echo 'file found!';
 } 
else
 {     
        echo 'my_settings.txt does not exist';
  } 
?>

Uložte výše uvedený kód do souboru s názvem file_function.php Za předpokladu, že jste soubor uložili do složky phptuts v htdocs, otevřete adresu URL http://localhost/phptuts/file_function.php ve vašem prohlížeči získáte následující výsledky.

Funkce PHP file_exists().

Funkce PHP fopen().

K otevírání souborů se používá funkce fopen. Má následující syntaxi

<?php
fopen($file_name,$mode,$use_include_path,$context);
 ?>

TADY,

  • „fopen“ je funkce PHP pro otevření souboru
  • „$file_name“ je název souboru, který se má otevřít
  • „$mode“ je režim, ve kterém by měl být soubor otevřen, níže uvedená tabulka ukazuje režimy
režim Description
r • Číst soubor od začátku.
• Vrátí false, pokud soubor neexistuje.
• Pouze ke čtení
r+ • Číst soubor od začátku
• Vrátí false, pokud soubor neexistuje.
• Číst a psát
w • Zapsat do souboru na začátku
• zkrátit soubor na nulovou délku
• Pokud soubor neexistuje, pokuste se jej vytvořit.
• Pouze psát
w+ • Zapsat do souboru na začátku, zkrátit soubor na nulovou délku
• Pokud soubor neexistuje, pokuste se jej vytvořit.
• Číst a psát
a • Připojit k souboru na konec
• Pokud soubor neexistuje, pokuste se jej vytvořit.
• Pouze psát
a+ • Php připojit k souboru na konci
• Pokud soubor neexistuje, pokuste se jej vytvořit
• Číst a psát
  • „$use_include_path“ je nepovinné, výchozí hodnota je nepravda, pokud je nastavena na hodnotu true, funkce vyhledává také v cestě zahrnutí.
  • „$context“ je volitelný, lze jej použít k určení kontextové podpory.

Funkce PHP fwrite().

K zápisu souborů se používá funkce fwrite.

Má následující syntaxi

<?php
fwrite($handle, $string, $length);
?>

TADY,

  • „fwrite“ je funkce PHP pro zápis do souborů
  • „$handle“ je prostředek ukazatele souboru
  • „$string“ jsou data, která mají být zapsána do souboru.
  • „$length“ je nepovinné, lze jej použít k určení maximální délky souboru.

Funkce PHP fclose().

Funkce fclose() se používá k uzavření souboru v php, který je již otevřený

Má následující syntaxi.

<?php
fclose($handle); 
?>

TADY,

  • „fclose“ je Funkce PHP pro uzavření otevřeného souboru
  • „$handle“ je prostředek ukazatele souboru.

Podívejme se nyní na příklad, který vytvoří soubor my_settings.txt.

Použijeme následující funkce.

  • Fopen
  • Fwrite
  • fzavřít

Kód níže „create_my_settings_file.php“ implementuje výše uvedený příklad.

Otevřete soubor
<?php 

$fh = fopen("my_settings.txt", 'w')

or

die("Failed to create file"); ?>
Zavření souboru
<?php

fclose($fh);

?>
Vytvořit soubor
<?php 

$fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); 

$text = <<<_END 

localhost;root;pwd1234;my_database 

_END; 

fwrite($fh, $text) or die("Could not write to file"); 

fclose($fh); 

echo "File 'my_settings.txt' written successfully"; ?>    

Testování kódu

Otevřete adresu URL http://localhost/phptuts/create_my_settings.php ve vašem prohlížeči.

Získáte následující stránku

Funkce PHP fclose

Poznámka: Pokud je váš disk plný nebo nemáte oprávnění k zápisu souborů, zobrazí se chybová zpráva.

Přepněte zpět na URL http://localhost/phptuts/file_function.php .

Jaké výsledky získáváte?

Funkce PHP fgets().

Funkce fgets se používá ke čtení souborů php řádek po řádku. Má následující základní syntaxi. fgets($handle); ZDE,

  • „$fgets“ je funkce PHP pro čtení řádků souborů
  • „$handle“ je prostředek ukazatele souboru.

Podívejme se nyní na příklad, který čte soubor my_settings.txt pomocí funkcí fopen a fgets.

Kód níže read_my_settings.php implementuje výše uvedený příklad.

<?php
$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");
$line = fgets($fh);
echo $line; fclose($fh);
 ?>

TADY,

  • Funkce „fopen“ vrací ukazatel na soubor zadaný v cestě k souboru
  • Pokud dojde k chybě, zavolá se funkce „die()“. Zobrazí zprávu a provede spuštění skriptu

Funkce PHP copy().

Ke kopírování souborů se používá funkce kopírování PHP. Má následující základní syntaxi. kopírovat($soubor,$kopírovaný_soubor); ZDE,

  • „$file“ určuje cestu k souboru a název souboru, který se má zkopírovat.
  • „copied_file“ specifikoval cestu a název zkopírovaného souboru

Níže uvedený kód ilustruje implementaci

<?php
copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");
echo "File successfully copied to 'my_settings_backup.txt'"; 
?>

Mazání souboru

K odstranění souboru slouží funkce unlink. Níže uvedený kód ilustruje implementaci.

<?php
if (!unlink('my_settings_backup.txt'))
{
     echo "Could not delete file";
 }
else
{
     echo "File 'my_settings_backup.txt' successfully deleted"; 
}
 ?>

Funkce PHP file_get_contents().

Funkce file_get_contents se používá ke čtení celého obsahu souboru.

Níže uvedený kód ilustruje implementaci.

Rozdíl mezi file_get_contents a fgets je ten, že file_get_contents vrací data souboru jako řetězec, zatímco fgets čte soubor řádek po řádku.

<?php
echo "<pre>"; // Enables display of line feeds
echo file_get_contents("my_settings.txt");
echo "</pre>"; // Terminates pre tag
?>

Shrnutí

  • Soubor je prostředek pro ukládání dat
  • PHP má bohatou sbírku vestavěných funkcí, které zjednodušují práci se soubory.
  • Mezi běžné funkce souborů patří fopen, fclose, file_get_contents
  • Níže uvedená tabulka ukazuje souhrn zahrnutých funkcí
funkce Description
Soubor existuje Používá se k určení, zda soubor existuje nebo ne
otevřít Používá se k otevření souboru. Vrátí ukazatel na otevřený soubor
fwrite Slouží k zápisu do souborů
fzavřít Používá se k otevírání uzavřených souborů
fgets Používá se ke čtení souboru řádek po řádku
kopie Používá se ke kopírování existujícího souboru
odpojit Používá se k odstranění existujícího souboru
file_get_contents Používá se k vrácení obsahu souboru jako řetězce