PHP File() Hantering och funktioner

Vad är en fil?

En fil är helt enkelt en resurs för att lagra information på en dator.

Filer används vanligtvis för att lagra information som:

  • Konfigurationsinställningar för ett program
  • Enkla data som kontaktnamn mot telefonnummer.
  • Bilder, bilder, foton etc.

Stöd för PHP-filformat

PHP-filfunktioner stöder ett brett utbud av filformat som inkluderar:

  • File.txt
  • File.log
  • File.custom_extension dvs file.xyz
  • File.csv
  • File.gif, file.jpg etc
  • Filer tillhandahåller en permanent kostnadseffektiv datalagringslösning för enkla data jämfört med databaser som kräver annan programvara och kompetens för att hantera DBMS-system.
  • Du vill lagra enkel data som serverloggar för senare hämtning och analys
  • Du vill lagra programinställningar, dvs program.ini

PHP file() Funktion

PHP ger ett bekvämt sätt att arbeta med filer via sin rika samling av inbyggda funktioner.

Operatingssystem som t.ex Windows och MAC OS är inte skiftlägeskänsliga medan Linux or Unix operativsystem är skiftlägeskänsliga.

Att anta en namnomvandling, t.ex. små bokstäver, endast för filnamngivning är en bra praxis som säkerställer maximal kompatibilitet över flera plattformar.

Låt oss nu titta på några av de vanligaste PHP-filfunktionerna.

PHP file_exists() Funktion

Denna funktion används för att avgöra om en fil finns eller inte.

  • Det är praktiskt när vi vill veta om en fil finns eller inte innan vi bearbetar den.
  • Du kan även använda denna funktion när du skapar en ny fil och du vill säkerställa att filen inte redan finns på servern.

Funktionen file_exist har följande syntax.

<?php
file_exists($filename); 
?>

HÄR,

  • "file_exists()" är PHP-funktionen som returnerar true om filen finns och false om den inte finns.
  • "$file_name" är sökvägen och namnet på filen som ska kontrolleras

Koden nedan använder funktionen file_exists för att avgöra om filen my_settings.txt finns.

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

Spara ovanstående kod i en fil som heter file_function.php Om du antar att du sparat filen i phptuts-mappen i htdocs, öppna URL:en http://localhost/phptuts/file_function.php i din webbläsare får du följande resultat.

PHP file_exists() Funktion

PHP fopen() Funktion

Fopen-funktionen används för att öppna filer. Den har följande syntax

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

HÄR,

  • "fopen" är PHP-funktionen för öppen fil
  • "$file_name" är namnet på filen som ska öppnas
  • "$mode" är det läge som filen ska öppnas i, tabellen nedan visar lägena
Mode Description
r • Läs filen från början.
• Returnerar false om filen inte finns.
• Endast läsning
r+ • Läs filen från början
• Returnerar false om filen inte finns.
• Läsa och skriva
w • Skriv till filen i början
• trunkera filen till noll längd
• Om filen inte finns försök att skapa den.
• Skriv endast
w+ • Skriv till fil i början, trunkera filen till noll längd
• Om filen inte finns försök att skapa den.
• Läsa och skriva
a • Lägg till filen i slutet
• Om filen inte finns försök att skapa den.
• Skriv endast
a+ • Php lägg till filen i slutet
• Om filen inte finns försök att skapa den
• Läsa och skriva
  • "$use_include_path" är valfritt, standard är false, om satt till true, söker funktionen också i include-sökvägen.
  • "$context" är valfritt, kan användas för att specificera kontextstödet.

PHP fwrite() Funktion

Fwrite-funktionen används för att skriva filer.

Den har följande syntax

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

HÄR,

  • "fwrite" är PHP-funktionen för att skriva till filer
  • "$handle" är filpekarresursen
  • "$string" är den data som ska skrivas i filen.
  • "$length" är valfritt, kan användas för att ange den maximala fillängden.

PHP fclose() Funktion

Funktionen fclose() används för att stänga en fil i php som redan är öppen

Den har följande syntax.

<?php
fclose($handle); 
?>

HÄR,

  • "fclose" är PHP-funktion för att stänga en öppen fil
  • "$handle" är filpekarresursen.

Låt oss nu titta på ett exempel som skapar my_settings.txt.

Vi kommer att använda följande funktioner.

  • Fopen
  • Fwrite
  • fstäng

Koden nedan "create_my_settings_file.php" implementerar exemplet ovan.

Öppna filen
<?php 

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

or

die("Failed to create file"); ?>
Stänger en fil
<?php

fclose($fh);

?>
Skapa fil
<?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"; ?>    

Testar koden

Öppna URL: n http://localhost/phptuts/create_my_settings.php i din webbläsare.

Du får följande sida

PHP fclose-funktion

Obs: om din disk är full eller om du inte har behörighet att skriva filer får du ett felmeddelande.

Växla tillbaka till URL:en http://localhost/phptuts/file_function.php .

Vilka resultat får du?

PHP fgets() Funktion

Funktionen fgets används för att läsa php-filer rad för rad. Den har följande grundläggande syntax. fgets($handle); HÄR,

  • "$fgets" är PHP-funktionen för att läsa filrader
  • "$handle" är filpekarresursen.

Låt oss nu titta på ett exempel som läser filen my_settings.txt med funktionerna fopen och fgets.

Koden nedan read_my_settings.php implementerar exemplet ovan.

<?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);
 ?>

HÄR,

  • Funktionen "fopen" returnerar pekaren till filen som anges i filsökvägen
  • "die()"-funktionen anropas om ett fel uppstår. Det visar ett meddelande och existerar exekvering av skriptet

PHP-kopia () -funktion

PHP-kopieringsfunktionen används för att kopiera filer. Den har följande grundläggande syntax. copy($fil,$kopierad_fil); HÄR,

  • "$file" anger filsökvägen och namnet på filen som ska kopieras.
  • "copied_file" angav sökvägen och namnet på den kopierade filen

Koden nedan illustrerar implementeringen

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

Ta bort en fil

Unlink-funktionen används för att radera filen. Koden nedan illustrerar implementeringen.

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

PHP file_get_contents() Funktion

File_get_contents-funktionen används för att läsa hela filens innehåll.

Koden nedan illustrerar implementeringen.

Skillnaden mellan file_get_contents och fgets är att file_get_contents returnerar fildata som en sträng medan fgets läser filen rad för rad.

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

Sammanfattning

  • En fil är en resurs för att lagra data
  • PHP har en rik samling av inbyggda funktioner som förenklar arbetet med filer.
  • Vanliga filfunktioner inkluderar fopen, fclose, file_get_contents
  • Tabellen nedan visar en sammanfattning av de funktioner som omfattas
Funktion Description
Fil existerar Används för att avgöra om en fil finns eller inte
öppen Används för att öppna en fil. Returnerar en pekare till den öppnade filen
fwrite Används för att skriva till filer
fstäng Används för att öppna stängda filer
fgets Används för att läsa en fil rad för rad
kopiera Används för att kopiera en befintlig fil
bort länken Används för att radera en befintlig fil
file_get_contents Används för att returnera innehållet i en fil som en sträng