PHP-fil()-håndtering og funksjoner
⚡ Smart oppsummering
Filbehandling i PHP bruker et rikt sett med innebygde funksjoner for å opprette, lese, skrive, kopiere og slette filer på serveren. Denne gjennomgangen dekker file_exists, fopen og dens moduser, fwrite, fclose, fgets, copy, unlink og file_get_contents med praktiske eksempler.
Hva er en fil?
En fil er ganske enkelt en ressurs for å lagre informasjon på en datamaskin.
Filer brukes vanligvis til å lagre informasjon som:
- Konfigurasjonsinnstillinger for et program
- Enkle data som kontaktnavn mot telefonnumre.
- Bilder, bilder, fotoer og lignende medier.
Støtte for PHP-filformater
PHP-filfunksjoner støtter et bredt spekter av filformater som inkluderer:
- File.txt
- File.log
- File.custom_extension, dvs. file.xyz
- File.csv
- File.gif, file.jpg og lignende bildeformater
Filer er nyttige i flere situasjoner:
- De tilbyr en permanent og kostnadseffektiv datalagringsløsning for enkle data, sammenlignet med databaser som krever annen programvare og ferdigheter for å administrere DBMS-systemer.
- Du ønsker å lagre enkle data, som serverlogger, for senere henting og analyse.
- Du vil lagre programinnstillinger, f.eks. program.ini
PHP-filfunksjoner
PHP tilbyr en praktisk måte å jobbe med filer på via sin rike samling av innebygde funksjoner.
Operatingsystemer som f.eks Windows og macOS skiller ikke mellom store og små bokstaver, mens Linux or Unix operativsystemer skiller mellom store og små bokstaver.
Å bruke en navnekonvensjon med kun små bokstaver for filnavn er god praksis som sikrer maksimal kompatibilitet på tvers av plattformer.
La oss nå se på noen av de mest brukte PHP-filfunksjonene.
PHP file_exists() funksjon
Denne funksjonen brukes til å bestemme om en fil eksisterer eller ikke.
- Det er nyttig når vi vil vite om en fil finnes før vi behandler den.
- Du kan også bruke denne funksjonen når du oppretter en ny fil og du vil forsikre deg om at filen ikke allerede eksisterer på serveren.
Funksjonen file_exists har følgende syntaks.
<?php file_exists($filename); ?>
HER,
- "file_exists()" er PHP-funksjonen som returnerer true hvis filen eksisterer og falsk hvis den ikke eksisterer.
- «$filnavn» er banen og navnet på filen som skal sjekkes
Koden nedenfor bruker file_exists-funksjonen til å avgjøre om filen my_settings.txt finnes.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Lagre koden ovenfor i en fil med navnet file_function.php. Forutsatt at du lagret filen i phptuts-mappen i htdocs, åpner du URL http://localhost/phptuts/file_function.php i nettleseren din. Du vil få følgende resultater.
PHP fopen() funksjon
Fopen-funksjonen brukes til å åpne filer. Den har følgende syntaks.
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
HER,
- "fopen" er PHP-funksjonen for åpen fil
- "$filnavn" er navnet på filen som skal åpnes
- «$mode» er modusen filen skal åpnes i. Tabellen nedenfor viser modusene.
| Mote | Tekniske beskrivelser |
|---|---|
| r | • Les filen fra begynnelsen. • Returnerer usann hvis filen ikke finnes. • Kun lesetilgang |
| r+ | • Les filen fra begynnelsen • Returnerer usann hvis filen ikke finnes. • Les og skriv |
| w | • Skriv til fil i begynnelsen • Avkort filen til null lengde • Hvis filen ikke finnes, prøv å opprette den. • Kun skrive |
| w+ | • Skriv til fil i begynnelsen, avkort filen til null lengde • Hvis filen ikke finnes, prøv å opprette den. • Les og skriv |
| a | • Legg til fil på slutten • Hvis filen ikke finnes, prøv å opprette den. • Kun skrive |
| a+ | • Legg til fil på slutten • Hvis filen ikke finnes, prøv å opprette den • Les og skriv |
- «$use_include_path» er valgfritt, standardverdien er «false». Hvis den er satt til «true», søker funksjonen også i «include path».
- «$context» er valgfritt og kan brukes til å spesifisere kontekststøtten.
PHP fwrite() funksjon
fwrite-funksjonen brukes til å skrive til filer.
Den har følgende syntaks.
<?php fwrite($handle, $string, $length); ?>
HER,
- "fwrite" er PHP-funksjonen for å skrive til filer
- "$handle" er filpekerressursen
- «$string» er dataene som skal skrives til filen.
- «$length» er valgfritt og kan brukes til å angi maksimal fillengde.
PHP fclose() funksjon
Funksjonen fclose() brukes til å lukke en fil i PHP som allerede er åpen.
Den har følgende syntaks.
<?php fclose($handle); ?>
HER,
- "fclose" er PHP funksjon for å lukke en åpen fil
- "$handle" er filpekerressursen.
La oss nå se på et eksempel som lager my_settings.txt. Vi skal bruke funksjonene fopen, fwrite og fclose.
Koden under "create_my_settings_file.php" implementerer eksemplet ovenfor.
| Åpne filen |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
| Lukke en fil |
<?php fclose($fh); ?> |
| Lag 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"; ?> |
Tester koden
Åpne URL http://localhost/phptuts/create_my_settings.php i nettleseren din.
Du får opp følgende side.
Merk: hvis disken din er full eller du ikke har tillatelse til å skrive filer, får du en feilmelding.
Bytt tilbake til URL http://localhost/phptuts/file_function.phpHvilke resultater får du?
PHP fgets() funksjon
Funksjonen fgets brukes til å lese PHP-filer linje for linje. Den har følgende grunnleggende syntaks.
<?php fgets($handle); ?>
HER,
- «fgets» er PHP-funksjonen for å lese fillinjer
- "$handle" er filpekerressursen.
La oss nå se på et eksempel som leser my_settings.txt-filen ved hjelp av fopen- og fgets-funksjonene.
Koden nedenfor read_my_settings.php implementerer eksemplet ovenfor.
<?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"-funksjonen returnerer pekeren til filen spesifisert i filbanen
- Funksjonen «die()» kalles hvis det oppstår en feil. Den viser en melding og avslutter kjøringen av skriptet.
PHP copy() funksjon
PHP-kopifunksjonen brukes til å kopiere filer. Den har følgende grunnleggende syntaks.
<?php copy($file,$copied_file); ?>
HER,
- "$file" spesifiserer filbanen og navnet på filen som skal kopieres.
- «$copied_file» angir banen og navnet på den kopierte filen
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"; ?>
Sletter en fil
Funksjonen «unlink» brukes til å 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() funksjon
File_get_contents-funksjonen brukes til å lese hele filinnholdet.
Forskjellen mellom file_get_contents og fgets er at file_get_contents returnerer fildataene som en streng, mens fgets leser 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 ?>
Hurtigreferanse for PHP-filfunksjoner
Tabellen nedenfor oppsummerer filfunksjonene som dekkes i denne veiledningen.
| Funksjon | Tekniske beskrivelser |
|---|---|
| Filen eksisterer | Brukes til å avgjøre om en fil eksisterer eller ikke |
| åpen | Brukes til å åpne en fil. Returnerer en peker til den åpnede filen |
| fskriv | Brukes til å skrive til filer |
| flukk | Brukes til å lukke en åpen fil |
| fgets | Brukes til å lese en fil linje for linje |
| kopiere | Brukes til å kopiere en eksisterende fil |
| frakoble | Brukes til å slette en eksisterende fil |
| file_get_contents | Brukes til å returnere innholdet i en fil som en streng |



