Inhoudsopgave:
Video: HTML 2024
Soms heb je PHP nodig om te werken met bestanden in een directory voor HTML5 en CSS3 programmering. Stel dat u een rapportagetool voor een klant heeft. Elke week genereert u een nieuw rapport voor de client en plaatst u het in een map.
U wilt niet elke keer dat u dit doet de pagina wijzigen, dus maak in plaats daarvan een pagina die automatisch een lijst genereert van alle rapportbestanden waaruit de client kan kiezen. Dit is het soort dingen dat je kunt doen met functies als opendir () en readdir ().
opendir ()
Met de functie opendir () kunt u een variabele maken (technisch gesproken is dit type variabele een handle ) waarmee u werken met een bepaalde map.
De functie opendir () heeft één parameter nodig: het pad naar de map waarmee u wilt werken. De functie opendir () retourneert een directory-handle (soort van een verbinding met de directory) bij succes en False bij falen.
Hier is een voorbeeld van de functie opendir (). Deze functie slaat een map-handle op naar de C: xampphtdocsXFDxfd5. 7 map in de $ directoryHandle variabele:
$ directoryHandle = opendir ("C: xampphtdocsXFDxfd5. 7");
readdir ()
Nadat u de map opent met de functie opendir (), heeft u een cursor op het eerste bestand gericht. Op dit punt kunt u de bestandsnamen één voor één lezen met een while-lus. Gebruik hiervoor de functie readdir ().
De functie readdir () heeft één parameter nodig: de variabele die de map handle bevat die is gemaakt met de functie opendir (). De functie readdir () retourneert de naam van een bestand waarop momenteel wordt gefocust door de cursor op succes en op mislukking.
Hier is een voorbeeld van de functie readdir (). Deze functie wordt herhaald door elk bestand in de map die is opgegeven door $ dp en wijst de bestandsnaam van het huidige bestand toe aan een nieuwe index in array $ fileArray:
while ($ currentFile! == false) {$ currentFile = readDir ($ dp); $ filesArray [] = $ currentFile;}
De eigenlijke readdir () -functie zelf is readdir ($ dp). Voor meer informatie over de functie, raadpleegt u de officiële online PHP-documentatie op // us. php. net / functie. readdir.
In sommige omstandigheden kan de functie readdir () niet-Booleaanse waarden retourneren die evalueren naar False, zoals 0 of "". Gebruik === of! Om de retourwaarde van de functie readdir () te testen. ==, in plaats van == of! ==, om rekening te houden met deze speciale gevallen.
chdir ()
Als u een bestand wilt maken in een andere directory dan de map waarin de PHP-pagina is gemaakt die het bestand maakt, moet u de mappen wijzigen.Je verandert mappen in PHP met de functie chdir ().
Als je absoluut zeker wilt zijn dat je in de juiste map bent voordat je het bestand schrijft, kun je een if-statement gebruiken met de functie getcwd (). Dit is meestal een beetje overdreven, maar het kan nuttig zijn.
De functie chdir () heeft één parameter nodig: het pad naar de map waarmee u wilt werken. De functie chdir () geeft Waar terug bij succes en False bij fout.
Hier is een voorbeeld van de chdir (). Deze functie verandert in de C: xampphtdocsXFDxfd5. 6 directory:
chdir ("C: xampphtdocsXFDxfd5. 6");
Wanneer u naar een map overschakelt, kunt u ernaar schrijven met de functie.
De lijst met bestandskoppelingen genereren
Met de functies opendir () en readdir () kunt u een lijst met koppelingen naar de bestanden in een map genereren.
Bekijk de PHP-code voor het lijstbestand met bestandskoppelingen:
bestandslijst. php
-
php
- $ aFile n";
$ dp = opendir (".");
$ currentFile = ";
while ($ currentFile! == false) {
$ currentFile = readDir ($ dp);
$ filesArray [] = $ currentFile;
} // end while
// sorteer de array in alfabetische volgorde
sort ($ filesArray);
// schrijf de uitvoer
$ output = ";
foreach ($ filesArray as $ aFile) {
$ uitvoer. = "