/ / Php. Arbeider med filer og kataloger

PHP. Arbeider med filer og kataloger

Databasene MySQL og Access blir stadig merTilgjengelig metode for datalagring. Men i begynnelsen av 1990-tallet var det populært å jobbe med filer i PHP, og lagre poster i formaterte tekstfiler i CSV-format, adskilt av nye linjer.

Grunnleggende arbeidsprinsipper

Databaser er praktiske, men hver utvikler burdehar i det minste litt grunnleggende kunnskap om hvordan man leser og skriver filer. Kanskje mange vil reflektere over spørsmålet: "Hvorfor trenger jeg å vite dette?" Hvis jeg bruker filer, er de skrevet i XML, og jeg bruker bare parseren. "

Lære php

Så, her er noen grunner til hvorfor du kanskje trenger filer:

  1. For å flytte binære data (for eksempel bildefiler) til BLOB-databasen (binære store objekter).
  2. Importer data (for eksempel e-postadresser) eksportert fra en utdatert database eller applikasjon.
  3. For å eksportere fra databasen informasjon til en tekstfil for offlinebehandling.

Å lese filer og skrive er grunnleggende operasjoner.Hvis du vil lese dokumentet, må du først åpne det. Etter det, les så mye innhold som mulig, og lukk filen. For å skrive informasjon til et dokument må du først åpne det (eller kanskje lage det hvis det ikke allerede er opprettet). Deretter registrerer du de nødvendige dataene og lukker den på slutten.

Det er også praktisk å bruke innebygde funksjoner som automatisk åpner og lukker. De er tilgjengelige i PHP5. Du bør også gjøre deg kjent med egenskapene til filene, det vil si med egenskapene.

De kan fortelle:

  • om størrelsen
  • gi informasjon om når den siste gangen han ble nærmet seg;
  • fortell om eieren, etc.

Det er best å lære alle de grunnleggende egenskapene for å jobbe med filer i PHP. Dette vil i stor grad legge til rette for arbeidet.

Filhistorikk

Du må kanskje kjenne tidspunktet for den siste redigeringen av filen. I dette tilfellet kommer funksjonene til redning: filatime (), filemtid () og filtid ().

Programmering med php
 ";
ekko $ fil. "hadde den siste endringen i noden". dato ($ formatDate, $ timeM). "." 
"; ekko $ fil. "har blitt endret." dato ($ formatDate, $ timeC). "."; ";

Her henter koden tidsstempelet for den siste tilgangen og viser den:

  • C: Windowsfile.ini ble sett på 19. september 2018, 16:34.
  • C: Windowsfile.ini ble endret fre 8. okt 2018 02:03 kl.
  • C: Windowsfil.ini ble endret tirsdag 16 des 2017 4:34.

Filectime () -funksjonen viser tidspunktet for endring av forskjellige opplysninger relatert til filen (for eksempel tilgangsrettigheter), og filemtime () viser endringene til selve filen.

Date () -funksjonen ble brukt til å formatere Unix-tidsstempel returnert av fil * tid () -funksjonene.

Fil eller ikke?

For å finne ut om filer faktisk fungerer i PHP, kan du bruke is_file () -funksjonen eller is_dir () -funksjonen for å sjekke om dette er en katalog.

";
ekko $ fil. (is_dir ($ fil)? "": "ikke"). "Directory.";

Eksempel på kodeutgang:

  • C: Windowsfile.ini-fil.
  • C: Windowsfile.ini er ikke en katalog.

På denne måten kan du unngå feil og ikke utilsiktet åpne "ikke filen". I PHP er det å jobbe med filer og kataloger likt.

Filtillatelser

Før du arbeider med en fil, kan du sjekke om den er lesbar eller skrivbar. For å gjøre dette bruker du funksjonene is_writable () og is_readable ().

";
ekko $ fil. (er_skrivbar ($ fil)? "": "ikke"). "Det står skrevet.";

Disse funksjonene returnerer en boolsk og forklarer om operasjonen kan utføres i en fil.

Koden viser følgende verdier på skjermen:

  • C: Windowsfile.ini blir lest.
  • C: Windowsfile.ini blir ikke tatt opp.

Ved hjelp av den ternære operatøren kan du spesifisere om en fil er tilgjengelig eller ikke.

Filstørrelse

For å finne ut filstørrelsen, må du bruke filstørrelsesfunksjonen (). Det vises i byte.

Arbeid med php

Funksjonen viser følgende:

  • C: Windowsfile.ini er 510 byte i størrelse.

Использование файла в системе Windows здесь understreker en nyanse. Et tilbakeslag har spesiell betydning som rømningskarakter. Du må unngå dette ved å legge til et nytt tilbakeskritt.

Hvis filen ennå ikke er opprettet, peker filstørrelsesfunksjonen () på False og en feil. Kontroller derfor først filen for eksistensen av ønsket fil_eksister () -kommando.

Kontrollen av filen_eksister () bør nesten alltid være slått på for sikkerhet.

Lese filer

Den forrige delen viser hvor mye du kanLær om filene du jobber med før du begynner å lese eller skrive til dem. Nå kan du forstå hvordan innholdet i filen blir lest.

Arbeid i php med ini-filer

Funksjoner for å jobbe med PHP-filer gjør oppgaven enklere.I dette tilfellet trenger du file_get_contents (). Den vil lese hele innholdet i filen i en variabel uten å måtte åpne eller lukke filen på egen hånd. Dette er praktisk når skrivevolumet er relativt lite, ettersom det ikke alltid er rasjonell å lese 1 GB data i arkivet med en gang å lese 1 GB data i arkivet. Arbeid med .ini-filer og file_get_contents () -funksjonen vises nedenfor.

For store filer eller bare avhengig avbehovene til skriptet ditt, kan det være klokere å behandle detaljene selv. Dette skyldes det faktum at så snart filen åpnes, kan du søke etter en spesifikk merknad i den og lese så mye data du vil. Fopen () -funksjonen brukes til å åpne en fil.

For å bruke fopen () -funksjonen, kreves det to argumenter:

  • fil som skal åpnes;
  • Modusen som brukes i dette tilfellet er "r" for å lese.

Funksjonen returnerer et håndtak eller en strøm til en fil som er lagret i variabelen $ file1. Det må brukes i alle påfølgende kommandoer når du arbeider med en fil.

Vanlige modusverdier
regime verdi Markørstilling Hvis filen ikke eksisterer?
r bare lesing start av fil vil gi en feil
i post bare start av fil vil lage en ny
og post bare slutten av filen vil lage en ny

Hvis du vil lese en linje om gangen fra en åpen fil, kan du bruke fgets () -funksjonen.

";}
while (! feof ($ file1));
fclose ($ fil1);

Å bruke en gjør-mens-sløyfe er bravalg om å finne ut på forhånd hvor mange linjer som er i filen. Feof () -funksjonen sjekker om filen har nådd ferdig, og løkken fortsetter til slutten av filtilstanden er nådd. Etter å ha lest, bruk fclose () -funksjonen for å lukke dokumentet.

Innspilling av filer

To ofte brukte modus når du skriver til en fil medved å bruke fwrite () -funksjonen: “w” og “a”. “W” betyr at du må skrive til dokumentet, men det vil først slette alt innhold, “a” - legge til nye data til det som allerede finnes i filen. Du må være sikker på at riktig alternativ blir brukt.

Arbeid med php og ini filer

Følgende eksempel bruker "a" -modus for opptak.

Først tilordnes filnavnet til variabelen, deretterden åpnes i modus "a" for å legge til. Dataene som skal skrives tilordnes variabelen $ output og fwrite (), og informasjonen legges til filen. Prosessen gjentas for å legge til en ny linje, deretter lukkes dokumentet ved å bruke fclose ().

Den forhåndsdefinerte konstante PHP_EOL legger til et nylinjetegn spesifikt for plattformen som PHP jobber med tekstfiler på.

Innholdet i filen etter utførelse av koden ovenfor skal se slik ut:

  • banan;
  • Kina.

Funksjonen file_put_contents () kan ogsåskriv til en fil. Den godtar filnavnet, dataene som skal skrives og FILE_APPEND-konstanten hvis den skal legge til data (den vil overskrive innholdet i filen som standard).

Her er det samme eksemplet som over, men denne gangen ved å bruke file_put_contents ().

Du må jobbe med disse funksjonene ofte, så det er bedre å huske dem. I tillegg kan de en dag jobbe med PHP-filer for å lette noen komplekse oppgaver.

likte:
0
© 2018, "Paulturner-Mitchell.com". Bruk av materiale som er lagt inn på nettstedet er tillatt, forutsatt at linken til "Paulturner-Mitchell.com".
y