PHP - Delo z mapami

PHP - Delo z mapami

Avtor: Dani Sajtl

Delo z mapami

  • PHP nam omogoča delo z mapami na podoben način kot z datotekami.
  • Nekatere funkcije za delo z mapami uporabljajo oprimek mape, medtem ko druge uporabljajo niz, ki vsebuje ime mape s katero želimo delati.
  • Oprimek mape je podoben oprimku datoteke – je posebna spremenljivka, ki kaže na mapo in jo lahko nastavimo s pomočjo opendir() funkcije.

    • $oprimek_mape = opendir("/home/dani/Vaje");
  • V primeru, da mapa ne obstaja opendir() vrne false namesto oprimka mape.
  • Kot si lahko že sam uganil, lahko zapremo mapo s posredovanjem oprimka mape funkciji closedir() .

    • closedir($oprimek_mape);
  • Funkcija readdir() pričakuje oprimek mape za odprto mapo in vrne naslednje ime datoteke/mape v mapi.

    • $ime_datoteke_mape = readdir($oprimek_mape);
  • Vsaka mapa vsebuje seznam datotek in podmap znotraj nje, kot tudi . (označuje trenutno mapo) in .. (označuje nadrejeno mapo).
  • PHP vzdržuje interni kazalec, ki kaže na naslednji vpis v seznamu; podobno kot kazalec datoteke kaže na pozicijo v datoteki, kjer se naj bi izvedla naslednja operacija.

Primer: Vsebina mape

  • S primerom želimo pokazati, kako lahko dobimo vsebino datotek in map znotraj izbrane mape.

    (vsebina_mape_new.png)
    Primer izpisa v brskalniku

Primer: Vsebina mape (izvedba)

  • Na začetku imamo osnovno HTML kodo:

    (vsebina_mape_koda_01.png)
  • Nastavimo mapo, katere vsebino želimo izpisati:

    (vsebina_mape_koda_02.png)
  • Določimo oprimek mape:

    (vsebina_mape_koda_03.png)
  • Izpišemo informativni stavek in začnemo neoštevilčen seznam:

    (vsebina_mape_koda_04.png)
  • Z zanko while preberemo vsak zapis, ki se nahaja znotraj izbrane mape:

    (vsebina_mape_koda_05.png)
  • Izločimo trenutno in nadrejeno mapo ter izpišemo vse ostale zapise v obliki seznama:

    (vsebina_mape_koda_06.png)
  • Zapremo mapo:

    (vsebina_mape_koda_07.png)
  • Na koncu zaključimo neoštevilčen seznam in zaključimo HTML program:

    (vsebina_mape_koda_08.png)
0%
0%