PHP File() Håndtering og funktioner
⚡ Smart opsummering
Filbehandling i PHP bruger et omfattende sæt af indbyggede funktioner til at oprette, læse, skrive, kopiere og slette filer på serveren. Denne gennemgang dækker file_exists, fopen og dets tilstande, fwrite, fclose, fgets, copy, unlink og file_get_contents med praktiske eksempler.
Hvad er en fil?
En fil er simpelthen en ressource til lagring af information på en computer.
Filer bruges normalt til at gemme information som:
- Konfigurationsindstillinger for et program
- Enkle data såsom kontaktnavne mod telefonnumre.
- Billeder, fotos, fotos og lignende medier.
Understøttelse af PHP-filformater
PHP-filfunktioner understøtter en bred vifte af filformater, der inkluderer:
- File.txt
- Fil.log
- File.custom_extension, dvs. file.xyz
- File.csv
- File.gif, file.jpg og lignende billedformater
Filer er nyttige i flere situationer:
- De tilbyder en permanent og omkostningseffektiv datalagringsløsning til simple data sammenlignet med databaser, der kræver anden software og færdigheder til at administrere DBMS-systemer.
- Du ønsker at gemme simple data såsom serverlogfiler til senere hentning og analyse.
- Du vil gemme programindstillinger, f.eks. program.ini
PHP-filfunktioner
PHP tilbyder en bekvem måde at arbejde med filer på via sin omfattende samling af indbyggede funktioner.
Operatingsystemer som f.eks Windows og macOS der skelnes ikke mellem store og små bogstaver, mens Linux or Unix operativsystemer skelner mellem store og små bogstaver.
Det er god praksis at anvende en navngivningskonvention, f.eks. kun små bogstaver, til filnavngivning, der sikrer maksimal kompatibilitet på tværs af platforme.
Lad os nu se på nogle af de mest almindeligt anvendte PHP-filfunktioner.
PHP file_exists() Funktion
Denne funktion bruges til at bestemme, om en fil eksisterer eller ej.
- Det er praktisk, når vi vil vide, om en fil findes, før vi behandler den.
- Du kan også bruge denne funktion, når du opretter en ny fil, og du vil sikre dig, at filen ikke allerede findes på serveren.
Funktionen file_exists har følgende syntaks.
<?php file_exists($filename); ?>
HER,
- "file_exists()" er PHP-funktionen, der returnerer sand, hvis filen eksisterer, og falsk, hvis den ikke eksisterer.
- "$filename" er stien og navnet på den fil, der skal kontrolleres
Koden nedenfor bruger funktionen file_exists til at afgøre, om filen my_settings.txt findes.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Gem ovenstående kode i en fil med navnet file_function.php. Hvis du har gemt filen i phptuts-mappen i htdocs, skal du åbne URL http://localhost/phptuts/file_function.php i din browser. Du vil få følgende resultater.
PHP fopen() Funktion
Funktionen fopen bruges til at åbne filer. Den har følgende syntaks.
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
HER,
- "fopen" er PHP åben fil-funktion
- "$file_name" er navnet på den fil, der skal åbnes
- "$mode" er den tilstand, som filen skal åbnes i. Tabellen nedenfor viser tilstandene.
| tilstand | Beskrivelse |
|---|---|
| r | • Læs filen fra begyndelsen. • Returnerer falsk, hvis filen ikke findes. • Læs kun |
| r+ | • Læs filen fra begyndelsen • Returnerer falsk, hvis filen ikke findes. • Læs og skriv |
| w | • Skriv til fil i begyndelsen • Afkort filen til nul længde • Hvis filen ikke findes, så prøv at oprette den. • Skriv kun |
| w+ | • Skriv til fil i begyndelsen, afkort filen til nul længde • Hvis filen ikke findes, så prøv at oprette den. • Læs og skriv |
| a | • Føj til fil til sidst • Hvis filen ikke findes, så prøv at oprette den. • Skriv kun |
| a+ | • Føj til fil til sidst • Hvis filen ikke findes, så prøv at oprette den • Læs og skriv |
- "$use_include_path" er valgfri, standardværdien er falsk. Hvis den er indstillet til sand, søger funktionen også i include-stien.
- "$context" er valgfri og kan bruges til at angive kontekstunderstøttelsen.
PHP fwrite() Funktion
Funktionen fwrite bruges til at skrive til filer.
Den har følgende syntaks.
<?php fwrite($handle, $string, $length); ?>
HER,
- "fwrite" er PHP-funktionen til at skrive til filer
- "$handle" er filpegerressourcen
- "$string" er de data, der skal skrives til filen.
- "$length" er valgfri og kan bruges til at angive den maksimale fillængde.
PHP fclose() Funktion
Funktionen fclose() bruges til at lukke en fil i PHP, der allerede er åben.
Den har følgende syntaks.
<?php fclose($handle); ?>
HER,
- "fclose" er PHP funktion for at lukke en åben fil
- "$handle" er filpegerressourcen.
Lad os nu se på et eksempel, der opretter my_settings.txt. Vi vil bruge funktionerne fopen, fwrite og fclose.
Koden nedenfor "create_my_settings_file.php" implementerer ovenstående eksempel.
| Åbn filen |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
| Lukning af en fil |
<?php fclose($fh); ?> |
| Opret 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"; ?> |
Test af koden
Åbne URL http://localhost/phptuts/create_my_settings.php i din browser.
Du får den følgende side.
Bemærk: hvis din disk er fuld, eller du ikke har tilladelse til at skrive filer, får du en fejlmeddelelse.
Skift tilbage til URL http://localhost/phptuts/file_function.phpHvilke resultater får du?
PHP fgets() Funktion
Funktionen fgets bruges til at læse PHP-filer linje for linje. Den har følgende grundlæggende syntaks.
<?php fgets($handle); ?>
HER,
- "fgets" er PHP-funktionen til at læse fillinjer
- "$handle" er filpegerressourcen.
Lad os nu se på et eksempel, der læser filen my_settings.txt ved hjælp af funktionerne fopen og fgets.
Koden nedenfor read_my_settings.php implementerer ovenstående eksempel.
<?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); ?>
HER,
- "fopen"-funktionen returnerer markøren til den fil, der er angivet i filstien
- Funktionen “die()” kaldes, hvis der opstår en fejl. Den viser en besked og afslutter udførelsen af scriptet.
PHP copy() Funktion
PHP-kopifunktionen bruges til at kopiere filer. Den har følgende grundlæggende syntaks.
<?php copy($file,$copied_file); ?>
HER,
- "$file" angiver filstien og navnet på den fil, der skal kopieres.
- "$copied_file" angiver stien og navnet på den kopierede fil
Koden nedenfor illustrerer implementeringen.
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 2"; ?>
Sletning af en fil
Funktionen unlink bruges til at slette en fil. Koden nedenfor illustrerer 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 bruges til at læse hele filens indhold.
Forskellen mellem file_get_contents og fgets er, at file_get_contents returnerer fildataene som en streng, mens fgets læser filen linje for linje.
Koden nedenfor illustrerer implementeringen.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Hurtig reference til PHP-filfunktioner
Tabellen nedenfor opsummerer de filfunktioner, der er dækket i denne vejledning.
| Funktion | Beskrivelse |
|---|---|
| fil_eksisterer | Bruges til at bestemme, om en fil eksisterer eller ej |
| åben | Bruges til at åbne en fil. Returnerer en markør til den åbnede fil |
| fwrite | Bruges til at skrive til filer |
| fluk | Bruges til at lukke en åben fil |
| fgets | Bruges til at læse en fil linje for linje |
| kopiere | Bruges til at kopiere en eksisterende fil |
| fjerne linket | Bruges til at slette en eksisterende fil |
| file_get_contents | Bruges til at returnere indholdet af en fil som en streng |



