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 med namnet file_function.php. Om du antar att du sparade filen i mappen phptuts i htdocs, รถppna filen. URL 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 BESKRIVNING
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 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 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 BESKRIVNING
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

Sammanfatta detta inlรคgg med: