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 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
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 |


