PHP File() Hantering och funktioner
โก Smart sammanfattning
Filbehandling i PHP anvรคnder en omfattande uppsรคttning inbyggda funktioner fรถr att skapa, lรคsa, skriva, kopiera och ta bort filer pรฅ servern. Denna genomgรฅng tรคcker file_exists, fopen och dess lรคgen, fwrite, fclose, fgets, copy, unlink och file_get_contents med praktiska exempel.

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 och liknande media.
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 och liknande bildformat
Filer รคr anvรคndbara i flera situationer:
- De tillhandahรฅller en permanent, kostnadseffektiv datalagringslรถsning fรถr enkel data, jรคmfรถrt med databaser som krรคver annan programvara och kompetens fรถr att hantera DBMS-system.
- Du vill lagra enkla data, till exempel serverloggar, fรถr senare hรคmtning och analys.
- Du vill lagra programinstรคllningar, t.ex. program.ini
PHP-filfunktioner
PHP erbjuder ett bekvรคmt sรคtt att arbeta med filer tack vare sin rika samling inbyggda funktioner.
Operatingssystem som t.ex Windows och macOS รคr inte skiftlรคgeskรคnsliga, medan Linux or Unix operativsystem รคr skiftlรคgeskรคnsliga.
Att anvรคnda en namngivningskonvention med endast gemener fรถr filnamn รคr en bra praxis som sรคkerstรคller maximal kompatibilitet mellan 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 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_exists 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.
- "$filnamn" รคr sรถkvรคgen och namnet pรฅ den fil som ska kontrolleras
Koden nedan anvรคnder funktionen file_exists fรถr att avgรถra om filen my_settings.txt existerar.
<?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 har sparat filen i mappen phptuts i htdocs, รถppna filen URL http://localhost/phptuts/file_function.php i din webblรคsare. Du kommer att fรฅ fรถljande resultat.
PHP fopen() Funktion
Funktionen fopen 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 falskt om filen inte finns. โข Endast lรคsning |
| r+ | โข Lรคs filen frรฅn bรถrjan โข Returnerar falskt om filen inte finns. โข Lรคsa och skriva |
| w | โข Skriv till filen i bรถrjan โข Avkorta 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+ | โข 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, standardvรคrdet รคr falskt. Om det รคr satt till sant sรถker funktionen รคven i include-sรถkvรคgen.
- โ$contextโ รคr valfritt och kan anvรคndas fรถr att ange kontextstรถdet.
PHP fwrite() Funktion
Funktionen fwrite anvรคnds fรถr att skriva till 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 till filen.
- โ$lengthโ รคr valfritt och kan anvรคndas fรถr att ange maximal fillรคngd.
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 funktionerna fopen, fwrite och fclose.
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 1 written successfully"; ?> |
Testar koden
รppna URL http://localhost/phptuts/create_my_settings.php i din webblรคsare.
Du fรฅr fรถljande sida.
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.phpVilka 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.
<?php 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 hjรคlp av 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
- Funktionen โdie()โ anropas om ett fel uppstรฅr. Den visar ett meddelande och avslutar skriptets exekvering.
PHP-kopia () -funktion
PHP-kopieringsfunktionen anvรคnds fรถr att kopiera filer. Den har fรถljande grundlรคggande syntax.
<?php copy($file,$copied_file); ?>
HรR,
- "$file" anger filsรถkvรคgen och namnet pรฅ filen som ska kopieras.
- "$copied_file" anger 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 2"; ?>
Ta bort en fil
Funktionen unlink anvรคnds fรถr att ta bort en fil. Koden nedan illustrerar implementeringen.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 1 successfully deleted"; } ?>
PHP file_get_contents() Funktion
File_get_contents-funktionen anvรคnds fรถr att lรคsa hela filens innehรฅll.
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.
Koden nedan illustrerar implementeringen.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Snabbreferens fรถr PHP-filfunktioner
Tabellen nedan sammanfattar de filfunktioner som behandlas i den hรคr handledningen.
| 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 stรคnga en รถppen fil |
| 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 |


