PHP - Odpiranje in zapiranje datotek

PHP - Odpiranje in zapiranje datotek

Avtor: Dani Sajtl

Odpiranje in zapiranje datotek

  • Za delo z datotekami znotraj PHP skript je potrebno datoteko najprej odpreti.
  • Pri tem ustvarimo oprimek datoteke (ang. file handle).
  • Oprimek datoteke je kazalec povezan z odprto datoteko, ki ga lahko nato uporabimo pri dostopu do vsebine datoteke.
  • Pri končanju dela z datoteko jo zapremo, kar odstrani oprimek datoteke iz pomnilnika.
  • Oprimek datoteke je posebni podatkovni tip, ker vsebuje sklic na zunanji vir, kot je npr. datoteka ali podatkovna zbirka.
  • Nekatere PHP funkcije omogočajo takojšnje delo z datoteko brez odpiranja in zapiranja. O tem kasneje.

Odpiranje datoteke z fopen()

  • Funkcija fopen() odpre datoteko in vrne oprimek datoteke povezan z njo.
  • fopen() sprejme kot prvi argument ime datoteke, ki jo želimo odpreti, kot drugi pa način kako bo datoteka uporabljena.

    • $oprimek = fopen("./datoteka.txt", "r");
    • Prvi argument je lahko samo ime ("datoteka.txt "), kjer bo PHP iskal datoteko v trenutni mapi,
    • lahko pa je relativna ("./datoteka.txt ") ali absolutna ("/home/dani/datoteka.txt ") pot do datoteke.
  • Pika (.) se nanaša na trenutno mapo – to lahko spremenimo s chdir() . O tem kasneje.
  • Dve piki (..) pa označujeta mapo, ki se nahaja nad trenutno mapo, npr. "../datoteka.txt ".
  • Določimo lahko tudi datoteko na spletnem ali FTP strežniku.

    • $oprimek = fopen("http://www.primer.si/index.html", "r");
    • $oprimek = fopen("ftp://ftp.primer.si/index.txt", "r");
    • Oddaljeno datoteko lahko odpremo samo za branje – ne moremo pisati v to datoteko.

Odpiranje datoteke z fopen()

  • fopen() sprejme kot drugi argument način kako bo datoteka uporabljena. Sprejme lahko naslednje vrednosti:

    • r odpre datoteko samo za branje; kazalec datoteke je postavljen na začetek datoteke
    • r+ odpre datoteko za branje in pisanje; kazalec datoteke je postavljen na začetek datoteke
    • w odpre datoteko samo za pisanje; vsebina datoteke bo izgubljena; če datoteka ne obstaja jo PHP skuša ustvariti
    • w+ odpre datoteko za branje in pisanje; vsebina datoteke bo izgubljena; če datoteka ne obstaja jo PHP skuša ustvariti
    • a odpre datoteko samo za dodajanje; podatki so zapisani na konec obstoječe datoteke; če datoteka ne obstaja jo PHP skuša ustvariti
    • a+ odpre datoteko za branje in dodajanje; podatki so zapisani na konec obstoječe datoteke; če datoteka ne obstaja jo PHP skuša ustvariti

Zapiranje datoteke z fclose()

  • Ko končamo delo z datoteko jo je potrebno zapreti.
  • To storimo z fclose() , kateremu kot edini argument podamo oprimek datoteke, npr.:

    • fclose($oprimek);
  • Čeprav naj bi PHP zaprl vse odprte datoteke samodejno ob končanju skript, je dobro to storiti takoj, ko končamo delo z datotekami. Na ta način datoteke hitreje sprostimo za uporabo drugim procesom in skriptam.
0%
0%