PHP-bestand()-verwerking en -functies
⚡ Slimme samenvatting
Bestandsverwerking in PHP maakt gebruik van een uitgebreide set ingebouwde functies om bestanden op de server aan te maken, te lezen, te schrijven, te kopiëren en te verwijderen. Deze handleiding behandelt `file_exists`, `fopen` en de bijbehorende modi, `fwrite`, `fclose`, `fgets`, `copy`, `unlink` en `file_get_contents` met praktische voorbeelden.
Wat is een bestand?
Een bestand is eenvoudigweg een hulpmiddel voor het opslaan van informatie op een computer.
Bestanden worden meestal gebruikt om informatie op te slaan, zoals:
- Configuratie-instellingen van een programma
- Eenvoudige gegevens zoals contactnamen gekoppeld aan telefoonnummers.
- Afbeeldingen, foto's en soortgelijke media.
Ondersteuning voor PHP-bestandsformaten
PHP-bestandsfuncties ondersteunen een breed scala aan bestandsindelingen, waaronder:
- Bestand.txt
- Bestand.log
- Bestand.aangepaste_extensie, bijvoorbeeld bestand.xyz
- Bestand.csv
- Bestanden zoals .gif, .jpg en vergelijkbare afbeeldingsformaten.
Bestanden zijn in diverse situaties nuttig:
- Ze bieden een permanente, kosteneffectieve oplossing voor gegevensopslag van eenvoudige gegevens, in tegenstelling tot databases waarvoor andere software en vaardigheden nodig zijn om DBMS-systemen te beheren.
- Je wilt eenvoudige gegevens zoals serverlogboeken opslaan om ze later op te halen en te analyseren.
- Je wilt programma-instellingen opslaan, bijvoorbeeld in het bestand program.ini.
PHP-bestandsfuncties
PHP biedt een handige manier om met bestanden te werken dankzij de uitgebreide verzameling ingebouwde functies.
Operasystemen zoals Windows en macOS zijn niet hoofdlettergevoelig, terwijl Linux or Unix besturingssystemen zijn hoofdlettergevoelig.
Het hanteren van een naamgevingsconventie, zoals het gebruik van uitsluitend kleine letters voor bestandsnamen, is een goede gewoonte die maximale compatibiliteit tussen verschillende platformen garandeert.
Laten we nu eens kijken naar enkele van de meest gebruikte PHP-bestandsfuncties.
PHP file_exists() Functie
Deze functie wordt gebruikt om te bepalen of een bestand bestaat of niet.
- Het is handig wanneer we willen weten of een bestand bestaat voordat we het verwerken.
- U kunt deze functie ook gebruiken wanneer u een nieuw bestand aanmaakt en u er zeker van wilt zijn dat het bestand niet al op de server bestaat.
De functie file_exists heeft de volgende syntaxis.
<?php file_exists($filename); ?>
HIER,
- “file_exists()” is de PHP-functie die true retourneert als het bestand bestaat en false als het niet bestaat.
- “$filename” is het pad en de naam van het bestand dat gecontroleerd moet worden.
De onderstaande code gebruikt de functie `file_exists` om te bepalen of het bestand `my_settings.txt` bestaat.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Sla de bovenstaande code op in een bestand met de naam file_function.php. Stel dat je het bestand hebt opgeslagen in de map phptuts in htdocs, open het dan. URL http://localhost/phptuts/file_function.php in uw browser. U krijgt de volgende resultaten te zien.
PHP fopen() Functie
De functie `fopen` wordt gebruikt om bestanden te openen. De syntaxis is als volgt.
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
HIER,
- “fopen” is de PHP-openbestandsfunctie
- “$file_name” is de naam van het bestand dat moet worden geopend
- “$mode” geeft de modus aan waarin het bestand geopend moet worden. De onderstaande tabel toont de modi.
| Mode | Beschrijving |
|---|---|
| r | • Bestand vanaf het begin lezen. • Retourneert false als het bestand niet bestaat. • Alleen lezen |
| r+ | • Bestand vanaf het begin lezen • Retourneert false als het bestand niet bestaat. • Lezen en schrijven |
| w | • Schrijf naar bestand aan het begin • Bestand inkorten tot een lengte van nul • Als het bestand niet bestaat, probeer het dan aan te maken. • Alleen schrijven |
| w+ | • Schrijf naar het bestand aan het begin, kap het bestand af tot een lengte van nul • Als het bestand niet bestaat, probeer het dan aan te maken. • Lezen en schrijven |
| a | • Aan het einde toevoegen aan bestand • Als het bestand niet bestaat, probeer het dan aan te maken. • Alleen schrijven |
| a+ | • Aan het einde toevoegen aan bestand • Als het bestand niet bestaat, probeer het dan aan te maken. • Lezen en schrijven |
- “$use_include_path” is optioneel, de standaardwaarde is false. Indien ingesteld op true, zoekt de functie ook in het include-pad.
- “$context” is optioneel en kan worden gebruikt om de contextondersteuning te specificeren.
PHP fwrite() Functie
De functie fwrite wordt gebruikt om naar bestanden te schrijven.
De syntaxis is als volgt.
<?php fwrite($handle, $string, $length); ?>
HIER,
- “fwrite” is de PHP-functie voor het schrijven naar bestanden
- “$handle” is de bestandsaanwijzerbron
- “$string” is de data die naar het bestand moet worden geschreven.
- “$length” is optioneel en kan worden gebruikt om de maximale bestandslengte op te geven.
PHP fclose() Functie
De functie fclose() wordt in PHP gebruikt om een bestand te sluiten dat al geopend is.
De syntaxis is als volgt.
<?php fclose($handle); ?>
HIER,
- "fclose" is de PHP-functie voor het sluiten van een geopend bestand
- “$handle” is de bestandsaanwijzerbron.
Laten we nu eens kijken naar een voorbeeld waarin het bestand my_settings.txt wordt aangemaakt. We gebruiken hiervoor de functies fopen, fwrite en fclose.
De onderstaande code “create_my_settings_file.php” implementeert het bovenstaande voorbeeld.
| Open het bestand |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
| Een bestand sluiten |
<?php fclose($fh); ?> |
| Maak een bestand |
<?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"; ?> |
Het testen van de code
Open de URL http://localhost/phptuts/create_my_settings.php in uw browser.
U krijgt de volgende pagina.
Let op: als uw schijf vol is of u geen toestemming heeft om bestanden te schrijven, krijgt u een foutmelding.
Schakel terug naar de URL http://localhost/phptuts/file_function.phpWelke resultaten krijg je?
PHP fgets() Functie
De functie `fgets` wordt gebruikt om PHP-bestanden regel voor regel te lezen. De basissyntaxis is als volgt.
<?php fgets($handle); ?>
HIER,
- "fgets" is de PHP-functie voor het lezen van regels uit een bestand.
- “$handle” is de bestandsaanwijzerbron.
Laten we nu eens kijken naar een voorbeeld waarin het bestand my_settings.txt wordt gelezen met behulp van de functies fopen en fgets.
De onderstaande code read_my_settings.php implementeert het bovenstaande voorbeeld.
<?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); ?>
HIER,
- De functie “fopen” retourneert de verwijzing naar het bestand dat is opgegeven in het bestandspad
- De functie "die()" wordt aangeroepen als er een fout optreedt. Deze geeft een bericht weer en beëindigt de uitvoering van het script.
PHP copy() Functie
De PHP-functie `copy` wordt gebruikt om bestanden te kopiëren. De basissyntaxis is als volgt.
<?php copy($file,$copied_file); ?>
HIER,
- “$file” specificeert het bestandspad en de naam van het bestand dat moet worden gekopieerd.
- “$copied_file” specificeert het pad en de naam van het gekopieerde bestand.
De onderstaande code illustreert de implementatie.
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 2"; ?>
Een bestand verwijderen
De functie `unlink` wordt gebruikt om een bestand te verwijderen. De onderstaande code illustreert de implementatie.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 1 successfully deleted"; } ?>
PHP file_get_contents() Functie
De file_get_contents functie wordt gebruikt om de volledige bestandsinhoud te lezen.
Het verschil tussen file_get_contents en fgets is dat file_get_contents de bestandsgegevens als een tekenreeks retourneert, terwijl fgets het bestand regel voor regel leest.
De onderstaande code illustreert de implementatie.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Snel naslagwerk voor PHP-bestandsfuncties
De onderstaande tabel geeft een overzicht van de bestandsfuncties die in deze handleiding worden behandeld.
| Functie | Beschrijving |
|---|---|
| file_exists | Wordt gebruikt om te bepalen of een bestand bestaat of niet |
| open | Wordt gebruikt om een bestand te openen. Retourneert een verwijzing naar het geopende bestand |
| schrijven | Wordt gebruikt om naar bestanden te schrijven |
| fsluiten | Wordt gebruikt om een geopend bestand te sluiten. |
| fgets | Wordt gebruikt om een bestand regel voor regel te lezen |
| kopiëren | Wordt gebruikt om een bestaand bestand te kopiëren |
| ontkoppelen | Wordt gebruikt om een bestaand bestand te verwijderen |
| file_get_contents | Wordt gebruikt om de inhoud van een bestand als een string terug te geven |



