PHP-bestand()-verwerking en -functies
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 vergeleken met telefoonnummers.
- Afbeeldingen, afbeeldingen, foto's, enz.
Ondersteuning voor PHP-bestandsformaten
PHP-bestandsfuncties ondersteunen een breed scala aan bestandsindelingen, waaronder:
- Bestand.txt
- Bestand.log
- Bestand.aangepaste_extensie, dat wil zeggen bestand.xyz
- Bestand.csv
- Bestand.gif, bestand.jpg enz
- Bestanden bieden een permanente, kosteneffectieve oplossing voor gegevensopslag voor eenvoudige gegevens in vergelijking met databases waarvoor andere software en vaardigheden nodig zijn om DBMS-systemen te beheren.
- U wilt eenvoudige gegevens, zoals serverlogs, opslaan voor later ophalen en analyseren
- U wilt programma-instellingen opslaan, bijvoorbeeld program.ini
PHP-bestand() Functie
PHP biedt een handige manier om met bestanden te werken via de rijke verzameling ingebouwde functies.
Operasystemen zoals Windows en MAC OS zijn niet hoofdlettergevoelig Linux or Unix besturingssystemen zijn hoofdlettergevoelig.
Het adopteren van een naamconversie, zoals alleen kleine letters voor de bestandsnaamgeving, is een goede gewoonte die maximale platformonafhankelijke compatibiliteit 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 als we willen weten of een bestand bestaat of niet 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_exist 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.
- “$file_name” is het pad en de naam van het bestand dat moet worden gecontroleerd
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 Ervan uitgaande dat u het bestand in de map phptuts in htdocs hebt opgeslagen, opent u de URL http://localhost/phptuts/file_function.php in uw browser U krijgt de volgende resultaten.
PHP fopen() Functie
De fopen-functie wordt gebruikt om bestanden te openen. Het heeft de volgende syntaxis
<?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” is de modus waarin het bestand geopend moet worden, 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 afkappen tot lengte nul • Als het bestand niet bestaat, probeer het dan 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 te maken. • Lezen en schrijven |
a |
• Aan het einde toevoegen aan bestand • Als het bestand niet bestaat, probeer het dan te maken. • Alleen schrijven |
a+ |
• Php toevoegen aan bestand aan het einde • Als het bestand niet bestaat, probeer het dan 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 fwrite-functie wordt gebruikt om bestanden te schrijven.
Het heeft de volgende syntaxis
<?php fwrite($handle, $string, $length); ?>
HIER,
- “fwrite” is de PHP-functie voor het schrijven naar bestanden
- “$handle” is de bestandsaanwijzerbron
- “$string” zijn de gegevens die in het bestand moeten worden geschreven.
- “$length” is optioneel en kan worden gebruikt om de maximale bestandslengte op te geven.
PHP fclose() Functie
De functie fclose() wordt gebruikt om een bestand in php 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 naar een voorbeeld kijken waarin my_settings.txt wordt gemaakt.
We zullen de volgende functies gebruiken.
- Fopen
- Fschrijven
- fsluiten
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 'my_settings.txt' 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.php .
Welke resultaten krijg je?
PHP fgets() Functie
De fgets-functie wordt gebruikt om php-bestanden regel voor regel te lezen. Het heeft de volgende basissyntaxis. fgets($handle); HIER,
- “$fgets” is de PHP-functie voor het lezen van bestandsregels
- “$handle” is de bestandsaanwijzerbron.
Laten we nu naar een voorbeeld kijken 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. Er wordt een bericht weergegeven en de uitvoering van het script bestaat
PHP copy() Functie
De PHP copy-functie wordt gebruikt om bestanden te kopiëren. Het heeft de volgende basissyntaxis. copy($file,$copied_file); HIER,
- “$file” specificeert het bestandspad en de naam van het bestand dat moet worden gekopieerd.
- “copied_file” specificeerde 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 'my_settings_backup.txt'"; ?>
Een bestand verwijderen
De ontkoppelfunctie wordt gebruikt om het bestand te verwijderen. De onderstaande code illustreert de implementatie.
<?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() Functie
De file_get_contents functie wordt gebruikt om de volledige bestandsinhoud te lezen.
De onderstaande code illustreert de implementatie.
Het verschil tussen file_get_contents en fgets is dat file_get_contents de bestandsgegevens retourneert als een string, terwijl fgets het bestand regel voor regel leest.
<?php echo "<pre>"; // Enables display of line feeds echo 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.
- Veel voorkomende bestandsfuncties zijn fopen, fclose, file_get_contents
- Onderstaande tabel geeft een overzicht van de gedekte functies
Functie | Beschrijving |
---|---|
Bestand bestaat | 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 gesloten bestanden te openen |
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 |