OqPoWah.com

PHP. Delo z datotekami in imeniki

Podatkovne baze MySQL in Access vse bolj postajajo javno dostopni. Toda v začetku devetdesetih let je bilo priljubljeno delo z datotekami v PHP-ju, pri čemer so shranjene zapise v formatiranih besedilnih datotekah v formatu CSV, ločene z novimi vrsticami.

Osnovna načela dela

Baze podatkov so priročne, vendar mora vsak razvijalec imeti vsaj nekaj osnovnih znanj o branju in pisanju datotek. Morda se bodo mnogi odzvali na vprašanje: "Zakaj moram to vedeti?" Če uporabljam datoteke, so napisani v XML in uporabljam samo parser. "

Učenje php

Torej, tukaj je nekaj razlogov, zakaj boste morda potrebovali datoteke:

  1. Če želite premakniti binarne podatke (na primer slikovne datoteke) v bazo podatkov BLOB (binarni veliki predmeti).
  2. Uvozite podatke (npr. E-poštne naslove), izvožene iz zastarele baze podatkov ali aplikacije.
  3. Če želite iz podatkov o bazi podatkov izvoziti v besedilno datoteko za obdelavo brez povezave.

Branje datotek in pisanje sta osnovni operaciji. Če želite dokument prebrati, ga morate najprej odpreti. Po tem preberite čim več vsebine, nato pa zaprite datoteko. Če želite informacije pisati v dokument, ga morate najprej odpreti (ali ga morda ustvariti, če še ni ustvarjen). Po tem zabeležite potrebne podatke in jih na koncu zaključite.

Prav tako je prikladno uporabljati vgrajene funkcije, ki se samodejno odpirajo in zapirajo. Na voljo so v PHP 5. Prav tako se morate seznaniti z atributi datotek, to je s svojimi lastnostmi.

Lahko pove:

  • o velikosti;
  • podajte informacije o tem, kdaj je bil nazadnje obrnjen;
  • povejte o lastniku itd.

Najbolje je, da se naučite vseh osnovnih atributov za delo z datotekami v PHP. To bo v veliki meri olajšalo delo.

Zgodovina datoteke

Morda boste morali vedeti čas zadnjega urejanja datoteke. V tem primeru funkcije rešujejo: fileatime (), filemtime () in filectime ().

Programiranje s php
"-echo $ datoteka" je imela zadnjo spremembo i-vozlišča. "datum ($ formatDate, $ timeM).".
"-echo $ datoteka." je bil spremenjen. "datum ($ formatDate, $ timeC).". "-

Tukaj koda prikliče časovni žig zadnjega dostopa in jo prikaže:

  • C: Windowsfile.ini so si ogledali 19. 9. 2018 4:34.
  • C: Windowsfile.ini je bil spremenjen 8. oktobra 2018 2:03.
  • C: Windowsfil.ini je bil spremenjen v torek, 16. decembra 2017 4:34.

Funkcija filectime () prikazuje čas spremembe različnih informacij, povezanih z datoteko (na primer pravice dostopa), in filemtime () - spremeni datoteko sama.

Funkcija date () je bila uporabljena za formatiranje časovnega žiga Unix, vrnjenega z datoteko * time ().

Datoteka ali ne?

Če želite ugotoviti, ali resnično deluje z datotekami v PHP, lahko uporabite funkcijo is_file () ali is_dir (), da preverite, ali je to mapa.

"-echo $ datoteka. (is_dir ($ datoteka)?" ":" ne ")." imenik. "-

Primer kode:

  • C: datoteka Windowsfile.ini.
  • C: Windowsfile.ini ni mapa.

Tako se lahko izognete napakam in jih po pomoti ne odpirate "ni datoteka". V PHP je delo z datotekami in imeniki podobno.

Dovoljenja datotek

Pred delom z datoteko lahko preverite, ali je berljiva ali jo je mogoče pisati. Če želite to narediti, uporabite funkcije is_writable () in is_readable ().

"-echo $ datoteka. (is_writable ($ datoteka)?" ":" ne ")." je napisana. "-

Te funkcije vrnejo Boolove vrednosti in razložijo, ali se lahko operacija izvede v datoteki.

Na zaslonu se prikažejo naslednje vrednosti:

  • C: Windowsfile.ini se prebere.
  • C: Windowsfile.ini ni napisan.

Z uporabo trojnega operaterja lahko določite, ali je datoteka na voljo ali ne.

Velikost datoteke

Če želite izvedeti velikost datoteke, morate uporabiti funkcijo filesize (). Prikazal se bo v bajtih.

Delo z php

Funkcija bo prikazala naslednje:

  • C: Windowsfile.ini je velikosti 510 bajtov.



Uporaba datoteke na sistemu Windows tukaj poudarja en odtenek. Backslash ima poseben pomen kot znak za pobeg. To se bo treba izogniti, tako da dodate še eno poševnico.

Če datoteka še ni ustvarjena, bo funkcija filesize () pokazala na False in napako. Zato najprej preverite, ali obstaja potreben ukaz file_exists ().

Datoteko file_exists () je treba skoraj vedno preverjati za varnost.

Branje datotek

V prejšnjem razdelku je prikazano, koliko se lahko naučite o datotekah, s katerimi delate, preden začnete branje ali pisanje zanje. Zdaj lahko razstavite, kako se bere vsebina datoteke.

Delo v php z ini datoteke

Funkcije za delo s PHP datotekami olajšajo opravilo. V tem primeru potrebujete file_get_contents (). Prebral bo celotno vsebino datoteke v spremenljivko, ne da bi morali sami odpreti ali zapreti datoteko. To je priročno, če je količina zapisa sorazmerno majhna, saj nemudoma branje 1 GB podatkov v arhiv ni vedno racionalno v PHP. Delo z datotekami ".ini" in file_get_contents () je prikazano spodaj.

Za velike datoteke ali samo odvisno od potreb vašega skripta, je morda bolj smiselno obdelati podrobnosti sami. To je posledica dejstva, da takoj, ko je datoteka odprta, lahko poiščete določen komentar v njem in preberete čim več podatkov, kot želite. Funkcija fopen () se uporablja za odpiranje datoteke.

Če želite delati z fopen (), potrebujete dva argumenta:

  • datoteko, ki jo želite odpreti;
  • Način, uporabljen v tem primeru, je "r" za branje.

Funkcija vrne deskriptor ali tok v datoteko, ki je shranjena v spremenljivki $ file1. Pri delu s datoteko bi ga bilo treba uporabljati v vseh naslednjih ukazih.

Najpogostejše vrednosti načina
Način Pomen Položaj kurzorja Če datoteka ne obstaja?
r samo branje začetek datoteke bo napaka
w samo zapis začetek datoteke ustvarite novo
a samo zapis konec datoteke ustvarite novo

Če želite brati iz odprte datoteke eno vrstico hkrati, lahko uporabite funkcijo fgets ().

"-} medtem ko (! feof ($ file1)) - fclose ($ file1) -

Uporaba do-medtem-zanke je dobra izbira, da vnaprej ugotovite, koliko vrstic v datoteki. Funkcija feof () preveri, ali je datoteka dokončanja dosegla in zanke se nadaljuje, dokler ni dosežen konec stanja datoteke. Po koncu branja se funkcija fclose () uporablja za zapiranje dokumenta.

Pisanje datotek

Pri pisanju v datoteko s funkcijo fwrite () sta dve pogosto uporabljeni načini: "w" in "a". »W« pomeni tisto, kar želite napisati v dokument, vendar bo najprej zbrisalo vsebino, »a« - dodajanje novih podatkov na tisto, kar že obstaja v datoteki. Morate biti prepričani, da se uporablja pravilna različica.

Delo z datotekami php in ini

Naslednji primer bo uporabil način "a" za pisanje.

Prvič, ime datoteke je dodeljeno spremenljivki, nato pa se odpre v načinu "a" za dodajanje. Podatki, ki jih je treba napisati, so dodeljeni v $ output in fwrite (), podatki pa se dodajo v datoteko. Postopek se ponovi, da dodate drugo vrstico, nato pa se dokument zapre s fclose ().

Vnaprej določena konstanta PHP_EOL dodaja znak za novo vrstico, specifično za platformo, na kateri PHP teče z besedilnimi datotekami.

Vsebina datoteke po izvedbi zgornje kode bi morala biti taka:

  • banana;
  • Kitajska.

Funkcija file_put_contents () lahko tudi zapiše v datoteko. Zahteva ime datoteke, podatke, ki jih je treba zapisati, in konstanto FILE_APPEND, če bi dodal podatke (privzeto bo prepisal vsebino datoteke).

Tu je isti primer kot zgoraj, vendar tokrat z uporabo file_put_contents ().

S temi funkcijami morate pogosto delati, zato jih je bolje zapomniti. Poleg tega lahko včasih delajo z datotekami PHP za ublažitev nekaterih zapletenih nalog.

Zdieľať na sociálnych sieťach:

Príbuzný