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 som heter file_function.php Om du antar att du sparat filen i phptuts-mappen i htdocs, öppna URL:en 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 | Description |
---|---|
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: n 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:en 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 | Description |
---|---|
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 |