PHP File() Functie: File_exists, Fopen, Fwrite, Fclose, Fgets, copy, unlink
Wat is een bestand?
Een bestand is simpelweg een bron 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 namen van contactpersonen tegen de telefoonnummers.
- Afbeeldingen, Foto’s, enz.
In deze handleiding, zult u leren-
- PHP File Formats Support
- PHP bestanden Functies
- PHP File_exists Functie
- PHP Fopen Functie
- PHP Fwrite Functie
- PHP Fclose Functie
- PHP Fgets Functie
- PHP Copy Functie
- Een bestand verwijderen
- PHP File_get_contents Functie
PHP File Formats Support
PHP bestandsfuncties ondersteunen een breed scala aan bestandsformaten, waaronder;
- File.txt
- File.log
- File.custom_extension i.e. file.xyz
- File.csv
- File.gif, file.jpg etc
- Bestanden bieden een permanente kosteneffectieve oplossing voor de opslag van eenvoudige gegevens in vergelijking met databases die andere software en vaardigheden vereisen om DBMS-systemen te beheren.
- U wilt eenvoudige gegevens zoals serverlogboeken opslaan om ze later te kunnen ophalen en analyseren
- U wilt programma-instellingen opslaan, d.w.z. program.ini
PHP bestanden Functies
PHP biedt een handige manier van werken met bestanden via zijn rijke collectie van ingebouwde functies.
Besturingssystemen zoals Windows en MAC OS zijn niet hoofdlettergevoelig, terwijl Linux of Unix besturingssystemen wel hoofdlettergevoelig zijn.
Het gebruik van een naamomzetting zoals alleen kleine letters voor de naamgeving van bestanden is een goede praktijk die zorgt voor maximale cross-platform compatibiliteit.
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.
- Hij komt van pas als we willen weten of een bestand bestaat of niet voordat we het verwerken.
- Je kunt deze functie ook gebruiken als je een nieuw bestand aanmaakt en je wilt zeker weten dat het bestand niet al op de server bestaat.
De file_exist functie heeft de volgende syntaxis.
<?phpfile_exists($filename); ?>
HIER,
- “file_exists()” is de PHP-functie die true retourneert als het bestand bestaat en false als het niet bestaat.
- “$file_name” is het pad en de naam van het bestand dat moet worden gecontroleerd
Onderstaande code gebruikt de file_exists-functie om te bepalen of het bestand my_settings.txt bestaat.
<?phpif (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Sla bovenstaande code op in een bestand met de naam file_function.php Ervan uitgaande dat u het bestand heeft opgeslagen in de map phptuts in htdocs, opent u de URL http://localhost/phptuts/file_function.php in uw browser U krijgt dan de volgende resultaten.
PHP Fopen Functie
De fopen functie wordt gebruikt om bestanden te openen. Het heeft de volgende syntax
<?phpfopen($file_name,$mode,$use_include_path,$context); ?>
HIER,
- “fopen” is de PHP open bestand functie
- “$file_name” is de naam van het te openen bestand
- “$mode” is de modus waarin het bestand geopend moet worden, de tabel hieronder toont de modi
Modus | Beschrijving |
---|---|
r |
|
r+ |
|
w |
|
w+ |
|
a |
|
a+ |
|
- “$use_include_path” is optioneel, standaard is false, indien ingesteld op true, zoekt de functie ook in het include-pad.
- “$context” is optioneel, kan worden gebruikt om de context ondersteuning te specificeren.
PHP Fwrite Functie
De fwrite functie wordt gebruikt om bestanden te schrijven.
Het heeft de volgende syntax
<?phpfwrite($handle, $string, $length);?>
HIER,
- “fwrite” is de PHP-functie voor het schrijven naar bestanden
- “$handle” is de file pointer resource
- “$string” is de data die in het bestand geschreven moet worden.
- “$length” is optioneel, kan worden gebruikt om de maximale bestandslengte op te geven.
PHP Fclose Functie
Wordt gebruikt om in php een bestand te sluiten dat al geopend is
Het heeft de volgende syntaxis.
<?phpfclose($handle); ?>
HIER,
- “fclose” is de PHP-functie voor het sluiten van een open bestand
- “$handle” is de file pointer resource.
Laten we nu eens kijken naar een voorbeeld waarmee my_settings.txt wordt gemaakt.
We gebruiken de volgende functies.
- Fopen
- Fwrite
- fclose
De onderstaande code “create_my_settings_file.php” implementeert het bovenstaande voorbeeld.
Open een bestand |
<?php $fh = fopen("my_settings.txt", 'w')ordie("Failed to create file"); ?> |
Een bestand sluiten |
<?phpfclose($fh);?> |
Bestand maken |
<?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"; ?> |
Testen van de code
Open de URL http://localhost/phptuts/create_my_settings.php in uw browser.
U krijgt dan de volgende pagina
Opgelet: als uw schijf vol is of als u geen toestemming hebt om bestanden te schrijven, krijgt u een foutmelding.
Schakelt u terug naar de URL http://localhost/phptuts/file_function.php .
Welke resultaten krijgt u?
PHP Fgets Functie
De fgets functie wordt gebruikt om php bestanden regel voor regel te lezen. Het heeft de volgende basissyntaxis. fgets($handle); HERE,
- “$fgets” is de PHP-functie voor het lezen van bestandsregels
- “$handle” is de file pointer resource.
Laten we nu eens kijken naar een voorbeeld dat het bestand my_settings.txt leest met behulp van de functies fopen en fgets.
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,
- “fopen” functie retourneert de pointer naar het bestand dat in het bestandspad is opgegeven
- “die()” functie wordt aangeroepen als er een fout optreedt. Er wordt een bericht weergegeven en het script wordt niet meer uitgevoerd
PHP Copy Functie
De PHP copy functie wordt gebruikt om bestanden te kopiëren. Het heeft de volgende basissyntaxis. copy($file,$gekopieerd_bestand); HIER,
- “$file” specificeert het bestandspad en de naam van het bestand dat moet worden gekopieerd.
- “gekopieerd_bestand” specificeert het pad en de naam van het gekopieerde bestand
Onderstaande code illustreert de implementatie
<?phpcopy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");echo "File successfully copied to 'my_settings_backup.txt'"; ?>
Het verwijderen van een bestand
De functie unlink wordt gebruikt om het bestand te verwijderen. Onderstaande code illustreert de implementatie.
<?phpif (!unlink('my_settings_backup.txt')){ echo "Could not delete file"; }else{ echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
PHP File_get_contents Functie
De file_get_contents functie wordt gebruikt om de gehele inhoud van een bestand te lezen.
De onderstaande code illustreert de implementatie.
Het verschil tussen file_get_contents en fgets is dat file_get_contents de bestandsgegevens als een string retourneert, terwijl fgets het bestand regel voor regel leest.
<?phpecho "<pre>"; // Enables display of line feedsecho file_get_contents("my_settings.txt");echo "</pre>"; // Terminates pre tag?>
Samenvatting
- Een bestand is een bron voor het opslaan van gegevens
- PHP heeft een rijke verzameling ingebouwde functies die het werken met bestanden vereenvoudigen.
- Algemene bestandsfuncties zijn fopen, fclose, file_get_contents
- Onderstaande tabel geeft een overzicht van de behandelde functies
Functie | Beschrijving |
---|---|
File_exists | Gebruikt om te bepalen of een bestand bestaat of niet |
fopen | Gebruikt om een bestand te openen. Geeft een pointer naar het geopende bestand |
fwrite | Gebruikt om naar bestanden te schrijven |
fclose | Gebruikt om gesloten bestanden te openen |
fgets | Gebruikt om een bestand regel voor regel te lezen |
copy | Gebruikt om een bestaand bestand |
unlink | Gebruikt om een bestaand bestand te verwijderen |
file_get_contents | Gebruikt om de inhoud van een bestand als een string terug te geven |