2012-08-22 10 views
12

Jestem nowym programistą i uczącym się php na własną rękę. Mam dwa pytania o następującej ścieżki względnej plikuCo oznaczają kropki w względnej ścieżce pliku?

$fp = fopen ("$_SERVER[DOCUMENT_ROOT]/../orders/orders.txt", 'w'); 

moich pytań o ścieżkę względną w kodzie powyżej są następujące:

  1. Co rozumiem, $_SERVER[DOCUMENT_ROOT] wskazuje na samym katalogu głównym struktura plików, jak htdocs, www lub public_html na różnych serwerach. Proszę wskazać, czy rozumiem go poprawnie?
  2. Co oznaczają te dwie kropki na powyższej ścieżce?

Thank You

+0

możliwe duplikat [? Co oznaczają kropki w ścieżce URL] (http://stackoverflow.com/questions/6008829/what-does-a-dot-mean-in -a-url-path) – nawfal

Odpowiedz

10

.. oznacza katalogu nadrzędnego, więc idzie o jeden poziom w górę i do katalogu rodzeństwem swojego głównego dokumentu zwanego orders.

+0

Rodzic czego? – daNullSet

+0

Katalog nadrzędny ścieżki w tym punkcie, tj. Katalog, w którym znajduje się twój główny dokument. Będzie działał cudownie, jeśli twój katalog główny to 'D: \' oczywiście, ale hej, nie może mieć wszystkiego. – Joey

5

.. oznacza "przejdź do jednego katalogu".

Dlatego, jeśli DOCUMENT_ROOT było:

/usr/docs/document_root 

ścieżka działa obecnie:

/usr/docs/document_root/../orders/orders.txt 

Ponieważ .. znaczy "iść w górę jeden", to w rzeczywistości staje się:

/usr/docs/orders/orders.txt 

Możesz zobaczyć, jak "kasuje" część "document_root".

2

.. odnosi się do folderu macierzystego macierzystego.

SO, jeśli $_SERVER[DOCUMENT_ROOT] bywa /var/www/ dodaje byłoby równoważne:

"$_SERVER[DOCUMENT_ROOT]/../orders/orders.txt" 
"/var/orders.txt" 
0

Lubię myśleć, że te dwie kropki spaść na dół o jeden poziom katalogu, który zwykle odnosi się do folderu nadrzędnego. Wyobraź sobie $_SERVER[DOCUMENT_ROOT] jest root:

root/ 
    index.php // You are here 

orders/ 
    orders.txt // You are reading this file 
Powiązane problemy