Suhteellinen ja absoluuttinen tiedostopolku

Artikkeli sisältää koodinpätkiä. Täysi versio on ladattavissa täältä - https://bitbucket.org/okiseleva/html-and-css-learn/src. Kansiot - "absolute_path_lvl_1" ja kaikki alikansiot.

Polku voi olla absoluuttinen tai suhteellinen.

Absoluuttinen polku

Absoluuttinen polku on polku juurikansiosta tiedostoon.

Polku koostuu kaikista kansioista, joita meidän on tarkasteltava ja jotka on erotettu vinoviivalla. Katsotaanpa esimerkkiä:

/absolute_path_lvl_1/level_2.1/level_3.1/Kevin.png

Absoluuttinen polku tiedostoon

Suhteellinen polku

Suhteellinen polku on linkki, joka osoittaa sivustosi muille sivuille suhteessa Web-sivuun, jolla linkki on jo olemassa.

Jos siirrämme kansioita alaspäin, erotamme ne myös käyttämällä "/". Jos haluat nousta tasolle, kirjoita ".."

1. Yksinkertaisin esimerkki suhteellisesta polusta on yksinkertaisesti tiedoston nimi. jos tiedosto on lähellä, ilmoita sen nimi

Hello.png

Suhteellinen polku, tiedosto lähellä


2. Siirry yhden kansion verran ylöspäin

../Kevin_lvl_2.png

Suhteellinen polku 2

3. Monimutkaisempi esimerkki, alkaen Diff_paths.html kuvaan Kevinin kanssa

../level_2.1/level_3.1/Kevin.png

Suhteellinen polku 3


Mitä eroa on absoluuttisten ja suhteellisten polkujen välillä?

Se on hyvin yksinkertaista. Jos polku määritetään järjestelmän juuresta, tämä on absoluuttinen polku. Se on kuin postiosoite tosielämässä – minne menetkin, mutta tarkalla osoitteella löydät aina oikean paikan.

Jos juuria ei ole määritetty polun alussa, tämä polku on suhteellinen ja se rakennetaan nykyisestä sijainnista. Tosielämässä se on kuin tie viinakauppaan - "kaksi korttelia vasemmalle ja suoraan koko ajan." Tälle polulle pääsee vain tietystä pisteestä. Toisesta päädyt täysin eri paikkaan.

Tiedostossa absoluuttinen_polku_lvl_1/level_2.2/Diff_paths.html Näet esimerkin HTML-sivusta, jolla on eri tiedostopolut.

Tässä on esimerkki absoluuttisesta ja suhteellisesta polusta samalle tiedostolle Kevinin kanssa.


D:/hgprojects → Latasin "html-and-css-learn" -projektin tästä. Sinulla voi olla toinen tapa


PS - lisätietoja kirjassa "

Tässä luvussa puhumme sinulle linkeistä-poluista, joihin kirjoitamme HREF-attribuutti.
Tiedämme tällä hetkellä vain mallin:
ankkuri
Tämä tieto riittää aloittelijoille, mutta ei suuren projektin ammattilaiselle!!! Loppujen lopuksi suurissa projekteissa on osioita, joihin sinun on siirryttävä ja joista on siirryttävä... Ja sitten heräävät kysymykset: miten tämä tehdään ja miten se tehdään oikein?

Oppimisen helpottamiseksi luodaan kolmisivuinen käyntikorttisivusto. Koska index.html-tiedostomme ei vielä tarjoa meille mitään arvoa, muokkaamme sitä ja käytämme sitä:

Verkkosivujen kehitys Tarjouksemme
Yhteystietomme

Seuraavaksi luodaan tiedosto delo.html, jossa kerromme palveluistamme: Palvelumme Kotisivu
Yhteystietomme

Luodaan myös tiedosto yhteystieto.html, ota meihin yhteyttä: Palaute Kotisivu
Tarjouksemme

Katsotaan nyt (avautuu uuteen välilehteen), mitä saimme.

Näillä esimerkeillä halusin näyttää, että kaikki toimii. Mutta yksi iso asia MUTTA, käytämme tiedostoja suoraan, mutta polut eivät näy...
Sitä se on suhteellinen polku, eli polku on suhteessa viittaavaan tiedostoon, mutta itse polku ei ole näkyvissä, koska kaikki tiedostomme sijaitsevat samassa hakemistossa (kansiossa).
Luodaan koulutuskansioomme (my_site) toinen kansio nimellä razdel ja siihen luomme uuden tiedoston nimellä index.html. Kuinka voimme tässä tapauksessa laittaa linkin yllä luomistamme tiedostoista?
razdel/ index.html">osio
Ja jos kansiossa razdel luo kansio alakohta silloin polku tulee jo juurikansiosta:
razdel/subdrazdel/ index.html">alaosiossa
ja kansiosta razdel
subdrazdel/ index.html">alaosiossa
Huomaa, että kansioiden ja/tai tiedostojen erotin on eteenpäinviivattu merkki.

Olemme oppineet syöttämään kansioita, katsotaan nyt kuinka poistutaan:
Jos haluat poistua podrazdel-kansiosta razdeliin, sinun on lisättävä ../ , tämä merkkijoukko kertoo selaimelle, että pyydetty tiedosto on yhden tason korkeampi:
../index.html" >Palaa osioon
Palataksesi kahdelle tasolle kirjoitamme tämän yhdistelmän kahdesti:
../../ index.html" >palaa sivuston juureen

Nyt ehdotan tarkastelemaan absoluuttisia polkuja. Absoluuttinen polku tämä on tiedostopolku, joka sisältää sivuston nimen ja protokollan (http tai https). Kuvitellaanpa tuo kansiomme sivuni ja siellä on sivuston juuri ja sivuston nimi on my_site.ru, tässä tapauksessa absoluuttinen polku on:
http://oma_sivusto.ru tai http://oma_sivusto.ru/ tai http://my_site.ru/index.html
Kun taas absoluuttinen polku kansioon razdel
http://my_site.ru/razdel tai http://my_site.ru/razdel/ tai http://my_site.ru/razdel/index.html

Mitä polkuja on parasta käyttää? Ehdottomasti!!! Mutta on mahdollista tehdä virheitä, koska nämä linkit osoittavat tietylle sivustolle ja paikallisesti (ilman palvelinta) emme pysty poistamaan näitä virheitä...

Ja jälleen kerran pääsivulta, älä laita linkkiä osoitteeseen my_site.ru, koska selain uudelleenohjaa edelleen osoitteeseen my_site.ru/, eli tapahtuu uudelleenohjaus, eivätkä hakukoneet todella pidä uudelleenohjauksista.
Älä myöskään koskaan laita linkkiä my_site.ru/index.html, koska tämä on kopio sivustolle my_site.ru/, ja hakukoneiden näkökulmasta nämä ovat kaksi eri sivua, ja tässä tapauksessa sisältö on päällekkäistä, ja hakukoneet eivät kunnioita tätä. Joten oikea linkki absoluuttisille linkeille on: my_site.ru/ ja suhteellisille yhdestä kansiosta: / tai laskeutumiset: ../ . Ja jos käytät absoluuttisia polkuja, sinun on päätettävä kuinka kirjoittaa osoite (www:n kanssa tai ilman), kaikki on myös täällä yksinkertaista, jos sinulla on henkilökohtainen (omistettu) palvelin, niin ilman ja jos vuokraat vain osan palvelimelle, sitten kanssa www .

Kun kehität verkkosivustoa, sinun on usein määritettävä tiedostojen polut, linkit asiakirjoihin ja sivuille.
Tietotekniikan kirjoista löytyy usein termit absoluuttiset ja suhteelliset polut käytettyihin tiedostoihin. Usein kirjoittaja ei selitä, mitä tietty polku tarkoittaa. Lukija on siis hämmentynyt, kun kirjoittaja myöhemmin puhuu absoluuttisten ja/tai suhteellisten polkujen käytöstä.
Oletetaan, että sinulla on verkkosivusto ja sinun on luotava hyperlinkki (linkki) yhdelle sivuston sivuista. Tässä sinun on valittava käytettävä polkutyyppi: suhteellinen vai absoluuttinen.

On erittäin tärkeää ymmärtää, missä polkua tarvitaan ja miten sitä parhaiten käyttää. Absoluuttinen polku voidaan määrittää vain yhdellä tavalla. Mutta suhteellisella, toisin kuin absoluuttisella, on useita käyttötarkoituksia.
Lue lisää kuinka ja missä sitä käytetään absoluuttinen ja suhteellinen polku tiedostoihin, yritän kertoa sinulle tänään.

Koska omistan suurimman osan ajastani verkkoteknologioihin, annan esimerkkejä verkkosivustojen luomisesta.

Absoluuttinen polku

Kun linkki on tiedoston tai sivun koko URL-osoite, se on absoluuttinen polku. Tässä tapauksessa käytetyn protokollan on oltava läsnä osoitteessa. Esimerkiksi, http://www.sivusto on ehdoton polku tietylle verkkosivustolle. Tässä tapauksessa ehdoton polku blogini pääsivulle. Missä protokolla on http, A www.sivusto verkkotunnus).

Jos määrität esimerkiksi linkin hakemistoon http://omaverkkotunnus.ua/web/ sitten hakemistotiedosto ladataan (näkyy). Tämä sääntö koskee pääasiassa staattisia sivustoja. Koska ohjelmointikieltä käytettäessä voit luoda sisäisen reitityksen. Hakemistotiedosto on yleensä tiedosto nimeltä index.php, index.html, index.phtml, index.shtml. Jos haluat käyttää eri hakemistotiedostoa, sinun on luotava .htaccess-niminen tiedosto haluttuun hakemistoon ja kirjoitettava siihen jokin ohje. .htaccess-tiedoston muokkaaminen ja luominen sekä reititys ohjelmointikielellä eivät kuulu tämän artikkelin piiriin.

Periaatteessa absoluuttista polkua käytetään, kun sinun on linkitettävä toiseen sivustoon. Toisin sanoen, jos haluat lähettää vierailijan toiselle sivustolle, sinun on käytettävä absoluuttista polkua. Tätä polkua voi kuitenkin käyttää omalla verkkosivustollasi. Mutta monet ihmiset uskovat, että sivuston sisältämien linkkien tulee olla suhteellisia.
Absoluuttisen polun käyttö voi aiheuttaa ongelmia. Esimerkiksi siirtäessäsi sivustoa paikalliselta koneelta palvelimelle (tämä on tilanne, jos käytit osoitteita muodossa http://localhost/sitename.ua/… paikallisessa koneessa). Vaikeuksia voi syntyä, kun verkkotunnusta (sivuston nimeä) on vaihdettava. Vaikka kaikki nämä vaikeudet voidaan ratkaista, sinun täytyy viettää aikaa niihin.
Kun on miinuksia, pitää olla plussia. Otetaan esimerkiksi tilanne, kuten verkkosivustosi sisällön varastaminen. Käytännössä olen useammin kuin kerran vakuuttunut siitä, että koko teksti varastetaan jättämättä paluulinkkiä alkuperäiseen. Joten, kun käytät absoluuttisia polkuja, voit saada käänteisiä linkkejä sivustolta, jossa varastettu sisältö sijaitsee. Mutta tämä on vain, jos sisäinen linkityksesi on suoritettu käyttämällä absoluuttisia polkuja. Vaikka tämä ei aina toimi, olen huomannut useammin kuin kerran linkkejä muiden ihmisten sivustoilta, joilla sisältöni oli.

Kaivettuani hieman aiheesta, haluan puhua siitä lyhyesti mikä on URL.

Jokaisella Internetin verkkosivulla tai asiakirjalla on oma yksilöllinen osoite, jota kutsutaan nimellä URL-osoite.
URL-osoite- resurssin yhtenäinen paikannus (sijaintitunniste). URL on lyhenne sanoista Uniform Resource Locator. Voit myös törmätä sellaiseen dekoodaukseen kuin Universal Resource Locator (universal Resource locator). Tämä osoitteen kirjoitustapa on standardoitu Internetissä. Yleisempi ja laajempi URI-resurssien tunnistusjärjestelmä on vähitellen korvaamassa termin URL.
URI on merkkijono, joka identifioi resurssin: asiakirjan, tiedoston jne. Tietenkin tämä viittaa Internet-resursseihin.

Suhteellinen polku

Usein suhteellisia polkuja käytetään paljon useammin kuin absoluuttisia polkuja. Periaatteessa suhteellinen polku määritetään, kun sinun täytyy lähettää vierailija sivustosi toiselle sivulle tai lisätä objekti (esimerkiksi kuva) jollekin sivuista. Tässä tapauksessa käyttäminen suhteessa polkuun on melko perusteltua. Sivuston rakenteesta riippuen se riippuu käytettävästä suhteellisesta polusta. Suhteellisia polkuja on kahta tyyppiä: polku suhteessa asiakirjaan, polku suhteessa sivuston juureen.

Polku suhteessa asiakirjaan

Tarkalleen polku suhteessa asiakirjaan käytetään useimmiten. Tällaisia ​​linkkejä kutsutaan myös paikallisiksi. Periaatteessa tätä polkua käytetään, kun nykyinen ja siihen liittyvä asiakirja (sivu) ovat samassa hakemistossa. Jos siirrät asiakirjan toiseen hakemistoon, polkua (linkkiä) on muutettava. Voit kuitenkin linkittää myös muiden hakemistojen asiakirjoihin (sivuihin). Tätä varten polku kirjoitetaan nykyisestä asiakirjasta kohdeasiakirjaan (sivulle). Tässä tapauksessa asiakirjan polku on asetettava hakemistorakenteen mukaan.
Otetaan esimerkiksi staattisen verkkosivuston yksinkertaisin rakenne.

Oletetaan, että jokainen kuva hakemistossa kuvia on lisättävä asianmukaisille sivuille home.html, tuotteet.html, contact.htm l. Jos haluat lisätä kuvan esimerkiksi "koti.html" -sivulle, sinun on määritettävä polku, jolla kuva sijaitsee. Jos käytät asiakirjaan liittyvää polkua, sinun on kirjoitettava sivukoodiin seuraava:

Tämä koodi kuvan lisäämiseksi sivulle on epätäydellinen. Koska se ei sisällä useita tärkeitä määritteitä, kuten leveys, korkeus jne. Attribuutti src, tässä osoittaa tiedoston polun. Kaikki muut attribuutit on jätetty pois, koska ne eivät ole niin tärkeitä nyt. Tärkeintä nyt on, että sinulla on käsitys siitä, miltä polku näyttää suhteessa asiakirjaan.
Asiakirjan suhteellisia polkuja käytettäessä absoluuttinen polun osa puuttuu. Osa absoluuttisesta polusta katkaistaan ​​tässä sekä nykyiselle asiakirjalle (sivulle) että linkitetylle asiakirjalle. Tässä käytetään vain sitä osaa polusta, joka aina muuttuu.
Muistutan vielä kerran, että kun käytät polkua suhteessa asiakirjaan, sinun on otettava huomioon tiedostojen alkuperäinen sijainti.

Kuvitellaanpa tilanne, jossa sivu tuotteet.html, ei sijaitse sivuston juurihakemistossa (kuten edellisessä esimerkissä), vaan alihakemistossa. Nyt sinun on lisättävä kuva tiedostoon tuotteet.html, joka sijaitsee syvemmällä kuin sivuston juurihakemisto.

Kuvan lisääminen tiedostoon tuotteet.html sinun on palattava juurihakemistoon. Tämän jälkeen voit käyttää jo tunnettua polkua, joka mainittiin juuri edellä.

Kuten yllä olevasta koodista näkyy, polkuun on nyt lisätty seuraava: ../ . Juuri tämä merkkisarja ../ ja siirtää yhden hakemiston (tason) korkeammalle hakemistohierarkiassa. Yllä olevan koodin polku voidaan lukea seuraavasti: "Mene yksi hakemisto ylemmäksi (takaisin), mene hakemistoon kuvia ja ota tiedosto sieltä products.png«.
Jos ../ tarkoittaa siirtämistä yhden hakemiston (tason) korkeammalle hakemistohierarkiassa, sitten symbolin / osoittaa siirtymistä yhden tason alaspäin.
Hahmosarja ../ voidaan käyttää toistuvasti liikkeellä ollessa. Esimerkiksi jos tiedosto tuotteet.html siirryttäessä kolmeen sisäkkäiseen hakemistoon, sinun on käytettävä seuraavaa koodia:

Kuten edellisistä esimerkeistä voidaan nähdä, käyttämällä polut suhteessa asiakirjaan monissa tapauksissa perusteltua. Tämän tyyppistä polkua käytetään usein käytännössä, ja sitä voidaan soveltaa melkein mihin tahansa tilanteeseen. Kuten edellä sanoin, sivuston juureen liittyy myös polku, josta itse asiassa keskustellaan jäljempänä.

Polku sivuston juureen nähden

Olet todennäköisesti jo ymmärtänyt, että dokumenttiin liittyviä polkuja käytetään hyvin usein. Mutta niiden käytössä on yksi ongelma. Eli kun hakemistorakenne muuttuu, polut on vaihdettava.
Mutta tämä ongelma voidaan ratkaista käyttämällä polut suhteessa sivuston juureen. Missä polku on määritetty juurihakemistosta asiakirjaan.
Kaikki sivuston juureen liittyvät polut alkavat merkillä / . Ainoastaan ​​tässä, toisin kuin asiakirjaan liittyvissä poluissa, tätä merkkiä käytetään osoittamaan juurihakemisto. Koska sitä käytetään matkan alussa.
Sivuston juureen suhteutetun polun avulla voit siirtää joitain tiedostoja vahingoittamatta linkkejä. Voit käyttää tämän tyyppistä polkua vain Internetin verkkopalvelimessa tai paikallisessa koneessa sijaitsevassa verkkopalvelimessa.

Paikallisen koneen verkkopalvelin voi olla . Tämän avulla voit luoda tietokoneellesi ympäristön verkkosivustojen luomista ja esitestausta varten.

Suhteellinen juuren polku ei sisällä http-protokollaa eikä toimialueen nimeä. Ja kuten jo sanoin, se alkaa symbolin osoittamisesta / , joka osoittaa juurihakemistoon. Tämä hakemisto sisältää yleensä pääsivun hakemistotiedoston.

Esimerkiksi, /images/products.png osoittaa, että tiedosto products.png on kansiossa kuvia, joka sijaitsee juurihakemistossa.

Helpoin tapa määrittää suhteellinen juuren polku on valita absoluuttinen polku ja hylätä http:// ja isäntänimi.

Esimerkki
Joskus on välttämätöntä, että yhden sivun tiedot voivat käyttää sivuston muita sivuja. Tämä tehdään usein toistuvan koodin määrän vähentämiseksi kullakin sivulla. Oletetaan, että siellä on tiedosto _contact.html, joka sisältää tietoja puhelinnumeroista, sähköpostista ja sisältää kuvan contact.png. (Olkoon se pieni taulukko, joka sijaitsee sivuston jokaisella sivulla.)

Seuraava koodi on "contact.png"-kuvan lisäämiseen.

Koodi, joka tarvitaan yhden tiedoston lisäämiseen toiseen, ei kuulu tämän artikkelin piiriin. Kaikki riippuu käytetystä ohjelmointikielestä.

Toivottavasti tiedät jo, minkä tyyppistä polkua yllä olevassa koodissa käytettiin. Jos ei, katso yllä olevaa asiakirjan suhteen polun määritelmää.
Nyt, kun vierailija vierailee sivuston sivuilla, kuten home.html, contact.ntml, hän näkee täydellisesti hahmonnetun sivun. Jokaiseen niistä on lisätty tiedosto _contact.html, johon vuorostaan ​​lisätään kuva contact.png.
Toisin sanoen menemällä esimerkiksi sivulle home.html, tapahtuu seuraavaa: "Pääsivun koodi on käynnissä home.html. Sitten sivukoodi lisätään ja suoritetaan _contact.html. Sivun koodi _contact.html, sanoo, että sinun täytyy mennä hakemistoon kuvia ja ota kuva sieltä contact.png«.
Jos jätät itse upotuskoodin pois, kaikki toimii hyvin. Mutta jos pyörität sivua tuotteet.html, silloin tapahtuu virhe. Koska koodi yrittää löytää hakemiston kuvia ja tiedosto contact.png hakemistossa Tuotteet. Tällaista hakemistoa ei kuitenkaan ole olemassa, joten ongelma itse asiassa syntyy.
On selvää, että et voi käyttää asiakirjan suhteen polkua tässä.
Tietysti voit käyttää tässä absoluuttista polkua. Puhuin edellä tämän lähestymistavan eduista ja haitoista.
Yleisesti ottaen tämä on yksi niistä tilanteista, joissa sinun tulee käyttää polkua suhteessa sivuston juureen. Kun käytät polkua suhteessa sivuston juureen, linkki alkaa aina juurihakemistosta (sivuston juurihakemistosta). Tämäntyyppinen polku mahdollistaa koodin lisäämisen, esimerkiksi kuvan, sivustohierarkiasta ja sen hakemistoista riippumatta.
Polun käyttäminen suhteessa sivuston juureen yllä olevassa esimerkissä välttää kuvan lisäämisongelmia. Koska riippumatta siitä, missä tämäntyyppistä polkua käytetään, se löytää aina siinä määritetyn tiedoston.
Polku sivuston juureen on hyvin samanlainen kuin asiakirjan polku. Jotta voit luoda polun suhteessa sivuston juureen, sinun on lisättävä symboli / matkan alkuun.

Nyt kuva lisätään oikein mille tahansa sivuston sivulle.

Toivon, että auttoin sinua ymmärtämään, mitä polkuja on olemassa ja milloin ja missä niitä käytetään. Nyt voit käyttää kaikkia polkutyyppejä aiottuun tarkoitukseen.

Absoluuttiset polut


Tässä tapauksessa kaikki on hyvin yksinkertaista, osoitamme suoran polun toisessa verkkotunnuksessa sijaitsevaan tiedostoon. Lyhennetty polku voidaan määrittää käyttämällä kahta kauttaviivaa alussa ilman, että http- tai https-osoitetta erikseen määritetään, ja palvelin itse korvaa tarvittavan protokollan (laajennuksen) palvelinasetusten mukaan. On tärkeää huomata, että tämä näkymä on välttämätön sivustojen välillä liikkumiseen:
http://google.com

Suhteessa sivuston juureen


Tässä tapauksessa selain ottaa verkkosivuston verkkotunnuksen ja korvaa määritetyn linkin siihen. Tässä tapauksessa se toimii http://site/css/style.css. http:n tapauksessa https:stä ei tarvitse huolehtia, koska se otetaan siinä muodossa, jossa sivu on tällä hetkellä auki, eli http:llä se on http. Se on myös erittäin kätevä siirtää tiettyjä toimintoja eri sivustojen välillä tai siirtää sivustoa verkkotunnuksesta toiseen koskematta koodiin. Ensisijainen tapa määrittää polut sivuille ja tiedostoille.

Tämän sivun suhteen


Vähemmän suosittu menetelmä, koska se vie nykyisen sivun ja lisää uuden osoitteen polulleen ..com/trick/css/style.css . Melkein mahdotonta käyttää tapauksissa, joissa käytämme CNC:tä.

Perustunnisteen käyttäminen


Tässä tapauksessa standardin verkkoalueen korvaamisen sijaan polku emäksestä korvataan suhteellisella polulla. Eli saamme tiedoston, joka sijaitsee:
http://site/tricks/css/style.css

Suhteelliset ja absoluuttiset polut PHP:ssä

Kaikki on hyvin yksinkertaista, kun työskentelemme tiedostojärjestelmässä, noudatamme PHP-polkujen kanssa työskentelyn sääntöjä. Jos välitämme komennon asiakasselaimelle, käytetään HTML-polkuja. Eli seuraavassa esimerkissä välitämme PHP:stä polun selaimeen sivun kanssa, jolle sen täytyy mennä. Se, että selain on siirtynyt sivujen välillä, näkyy osoitepalkissa:
header("Sijainti: /sivu2.php");
Joten, avaamme sivun page1.php ja sivu2.php kirjoitetaan osoitepalkkiin, ja koko asia on, että selain latasi ENSIN sivun page1.php ja sitten vastaanotti tiedot uudelleenohjauksella ja LATASI toisen sivun sivun2. php. Tässä tapauksessa uudelleenohjaus oli asiakkaan (selaimen) puolella, mikä tarkoittaa, että käytämme HTML:ään (verkko-osoitteeseen) liittyviä sääntöjä.

Absoluuttinen polku PHP:ssä

PHP:n absoluuttista polkua käsitellään absoluuttisena poluna hakemistosta, johon verkkopalvelin on asennettu. Tämän polun saa osoitteesta:
$_SERVER["DOCUMENT_ROOT"]
Jos otamme tämän palvelimen esimerkkinä, sen polku on: /home/school/public_html/schoolphp, mikä tarkoittaa, että jotta voit määrittää koko polun valokuvaan "/photo/img1.jpg", sinun on määritettävä seuraava polku:
getimagesize("/home/school/public_html/schoolphp/photo/img1.jpg"); getimagesize($_SERVER["DOCUMENT_ROOT"]."/photo/img1.jpg");
Haluaisin huomauttaa, että sivusto voi sijaita alihakemistossa, toisin sanoen:
http://site/forum/
DOCUMENT_ROOTin käyttö voi olla äärimmäisen vaikeaa, koska foorumi (ulkoisena komentosarjana) ei vielä tiedä, missä se sijaitsee sivustolla. On olemassa useita tapoja käsitellä tätä ongelmaa, luetellaan pari:

1) Luo sivu aliverkkotunnukseksi.

2) Kirjoita absoluuttinen polku config.php:n konfiguraatioon, eli:
Ydin::$ROOT = $_PALVELIN["DOCUMENT_ROOT"]; getimagesize(Ydin::$ROOT."/photo/img1.jpg"); // käytä absoluuttista polkua, jota voidaan muokata
Nyt voit linkittää koko sivustosi Core::$ROOTiin ilman katumusta, ja jos joudut vahingossa muuttamaan mukana tulevan tiedoston polkua, voit ohittaa Core::$ROOT;

Suhteessa aloitustiedostoon (kanta)

Monissa index.php-järjestelmissä on yksi sisääntulopiste, eli index.php avautuu ja muut tiedostot yhdistetään siitä.
sisällyttää "./modules/allpages.php";
Tässä tapauksessa allpages.php yhdistetään polkua pitkin: /home/school/public_html/schoolphp/modules/allpages.php. Tämä menetelmä on kätevä, koska jos kirjoitat include allpages.php-tiedostoon: include "./modules/module/page.php";, sitä etsitään silti suhteessa aloituspisteeseen, nimittäin index.php:
/home/school/public_html/schoolphp/modules/module/page.php
Tämä on varsin kätevä toteutus, kun otetaan huomioon, että tunnemme selvästi sovelluksemme rakenteen suhteessa juurihakemistoon index.php. Vaikka kutsuisimme mitä tahansa muuta tiedostoa emmekä index.php:tä, polut toimivat täsmälleen samoin. Kutsuimme dir.php -tiedostoa, mikä tarkoittaa, että polut otetaan suhteessa dir.php-tiedostoon!

Mitä muuta sinun tarvitsee tietää?

En voinut olla muistuttamatta unohtaneita tai ehdottaa niille, jotka eivät tiedä, että voit mennä taaksepäin paitsi syvälle hakemistoihin, myös ylös (kansiot takaisin), ja niiden syntaksi on melko yksinkertainen:
sisältää "../file.php";
Tässä tapauksessa otetaan tämän tiedoston hakemisto tai juurihakemisto.php ja palautetaan 1 kansio takaisin, josta haetaan tiedostoa “file.php”.

DOCUMENT_ROOT ei ole ainoa vaihtoehto saada sivuston juuripolku. Katsotaanpa käsikirjaa: "Asiakirjan juurihakemisto, jossa nykyinen komentosarja suoritetaan, on täsmälleen sama kuin palvelimen asetustiedostossa." . Tämä tarkoittaa, että jos polku on kirjoitettu väärin asetustiedostoon, koko sivusto ei toimi. Mitä tehdä? Voit kirjoittaa palvelinta isännöivän isännöinnin ylläpitäjille ja omistajille toivoen, että he korjaavat puutteensa. Tai etsi vakaa vaihtoehto, joka on __DIR__, tämä on absoluuttinen polku annettuun tiedostoon, jossa koodi on käynnissä. Oletetaan, että meillä on asetustiedosto config-kansiossa, ja jotta __DIR__:lla meidän ei tarvitse palata yhtä kansiota ylös joka kerta kirjoittamalla __DIR__"/../" voimme turvallisesti kirjoittaa muuttujaamme __DIR__, alla olevassa esimerkissä kirjoitin sen luokan ominaisuuteen (oppitunti nro 24 , joka ei saanut sitä, käytä tavallista muuttujaa):
Ydin::$ROOT = __DIR__; // Tai vanhalle PHP:lle - dirname(__FILE__);
Halusin myös muistuttaa jostain mielenkiintoisesta ja tärkeästä. Turvallisuussyistä verkkopalvelin kieltää liikkumisen sivuston juuren yläpuolella olevien hakemistojen läpi. Tämä tarkoittaa, että sivusto sijaitsee seuraavassa polussa: /home/school/public_html/schoolphp, mutta /home- tai /home/school-kansioiden sisältö ei ole luettavissa.

Voiko PHP käyttää HTML-polkuja? Kyllä, erikoistoiminnoissa, esim.
file_get_contets("http://sivusto");

Harjoitella

Vanhoissa projekteissani käytin DOCUMENT_ROOTia, nyt vaihdoin suhteellisiin index.php polkuihin "./folder/file".

Zend2, PHP-kehittäjien tuote, yksi tämän hetken monimutkaisimmista FrameWorkeista, käyttää myös suhteellisia polkuja, joilla on eri syntaksi kuin minulla, eli "kansio/tiedosto".

IPB.3-foorumi käyttää dirname(__FILE__).

Johtopäätökset:

1) HTML:ssä käytämme polkuja suhteessa sivuston juureen, nimittäin "/file.php" (rivi alkaa kauttaviiva).
2) PHP:ssä käytämme suhteessa juuritiedostoon "./file.php" (rivi alkaa piste ja kauttaviiva), vaihtoehtona olisi käyttää juureen alustettua ominaisuutta: __DIR__;
3) Otsikon uudelleenohjaus käyttää polkuja HTML:stä. PHP työskentelee tiedostojärjestelmän kanssa (tiedostojen yhdistäminen, kuvien tallentaminen ja muokkaaminen) - PHP-poluilla.

Löydät tietosi ja työkalusarjasi joka päivä polkuja. Tämä osio sisältää yksityiskohtaisen kuvauksen poluista, määrittelee eri polkutyypit ja näyttää kuinka niitä käytetään ArcGIS:ssä.

tavoilla

Polku

Polku on hakemiston tai tiedoston nimi kenoviivalla erotettuna. Hakemisto on sama kuin kansio Windowsin Resurssienhallinnassa.

E:\Data\MyStuff (polku päättyy hakemiston nimeen) E:\Data\MyStuff\roads.shp (polku päättyy tiedoston nimeen)

polku

Saatat kohdata kaksi polun kirjoitusasua: "polun nimi" ja "polun nimi". Kaikki polun kirjoitusasu (polku, polun nimi ja polun nimi) ovat synonyymejä.

Järjestelmäpolku ja hakemistopolku

ArcGIS käyttää termiä "luettelopolku" tai "ArcCatalog-polku". Hakemistopolku on polku, jonka vain ArcGIS tunnistaa. Esimerkiksi:

D:\Data\Final\Infrastructure.gdb\EastValley\powerlines

viittaa Powerlines-ominaisuusluokkaan EastValley-ominaisuusjoukossa Infrastructure-tiedoston geotietokannassa. Tämä polku ei ole kelvollinen järjestelmäpolku käyttöjärjestelmän näkökulmasta, koska Windows ei tunnista tiedoston geotietokannassa olevia ominaisuustietojoukkoja ja luokkia. Tietenkin ArcGIS toimii hakemistopolkujen kanssa.

Työtila ja perusnimi

Hakemistopolut koostuvat kahdesta osasta: työtilasta ja perusnimestä alla olevan kuvan mukaisesti:

Sijainti

Sijainti on yleinen termi (katso esimerkiksi: "Anna tietojesi sijainti" tai "Anna tietojesi sijainti").

Eteenpäin ja taaksepäin

Windowsissa kenoviivaa (\) käytetään polun erottimena. UNIX-järjestelmät käyttävät vinoviivaa (/). ArcGIS:ssä ei ole väliä, mitä kauttaviivaa käytetään polun määrittämisessä. ArcGIS lukee aina polun oikein riippumatta siitä, mitä merkkiä se käyttää.

Kenoviiva käsikirjoitusta kirjoitettaessa

Ohjelmointikielet, joiden juuret ovat UNIXissa ja C:ssä, kuten Python, käsittelevät kenoviivaa (\) estomerkkinä. Esimerkiksi \n vastaa vaunun palautusta. Koska polut voivat sisältää kenoviivaa, sinun on vältettävä tunnistamasta niitä poistomerkeiksi. On yleistä käyttää kaksoiskenoviivaa, kuten tämä:

thePath = "E: \\ data \\ telluride \\ newdata.gdb \\ rinteet"

Toinen vaihtoehto polkujen muuntamiseksi Python-merkkijonoiksi r-direktiivin avulla on esitetty alla. Tämä saa Pythonin jättämään kenoviivat huomioimatta.

thePath = r"E:\data\telluride\newdata.gdb\slopes"

Absoluuttiset ja suhteelliset polut

Absoluuttinen tai täysi polku

Absoluuttinen (tai täysi) polku alkaa asemakirjaimella, jota seuraa kaksoispiste, esimerkiksi D:.

Suhteellinen polku

Suhteellinen polku viittaa sijaintiin suhteessa nykyiseen hakemistoon. Suhteellisissa poluissa käytetään kahta erikoismerkkiä: pistettä (.) ja kaksoispistettä (..), joita käytetään siirtymään nykyiseen ja päähakemistoon. Kaksoispisteitä käytetään siirtymään yhden tason ylöspäin. Yksi piste tarkoittaa todellista nykyistä hakemistoa.

Oletetaan alla olevassa kansiorakenteessa, että käytit Windowsin Resurssienhallintaa navigoidaksesi D:\Data\Shapefiles\Soils-kansioon. Kun vaihdat tähän hakemistoon, suhteellinen polku käyttää D:\Data\Shapefiles\Soils-hakemistoa nykyisenä hakemistona (kunnes vaihdat uuteen hakemistoon ja siitä tulee nykyinen hakemisto). Nykyistä hakemistoa kutsutaan joskus juurikansioksi.

Jos haluat navigoida nykyisestä hakemistosta (Soils) Landuse-kansioon, sinun on kirjoitettava Windows Explorerin osoiteriville seuraava teksti:

Windowsin Resurssienhallinta siirtyy D:\Data\Shapefiles\Landuse-kansioon. Muita esimerkkejä D:\Data\Shapefiles\Landuse-kansion käyttämisestä nykyisenä kansiona on esitetty alla:

.. (D:\Data\Shapefiles) ..\.. (D:\Data) ..\..\Lopullinen (D:\Data\Lopullinen) . (D:\Data\Shapefiles\Landuse - nykyinen hakemisto) .\..\Soils (D:\Data\Final\Soils) ..\..\.\Final\..\Shapefiles\.\Landuse (D :\Data\Shapefiles\Landuse)

Huomautus:

Et voi syöttää suhteellisia polkuja (käyttäen pistettä ja kaksoispistettä) ArcGIS-sovelluksissa.

Suhteellista polkua ei voida laajentaa muille asemille. Jos esimerkiksi nykyinen kansio on D-asemassa, et voi käyttää suhteellisia polkuja navigoidaksesi mihinkään E-aseman hakemistoon.

Absoluuttiset ja suhteelliset polut ArcMapissa

Kun luot ArcMap-asiakirjan (joko ArcScene tai ArcGlobe), voit määrittää, että suhteelliset polut tallennetaan. Aseta tämä asetus valitsemalla Tiedosto > Karttaasiakirjan ominaisuudet. Täällä voit määrittää, tallennetaanko absoluuttiset vai suhteelliset polut.


Kun tallennat asiakirjan suhteellisilla poluilla, sovellus muuntaa polut suhteellisiksi (käyttäen pistettä ja kaksoispistettä) riippuen siitä, minne olet tallentanut asiakirjan (eli nykyiseen hakemistoon). Esimerkiksi, jos asiakirjasi on tallennettu

D:\Maps\Julisteet\Newmap.mxd

ja yhden kerroksen tiedot on

D:\Data\Final\Infrastructure.gdb\Streets

sitten Newmap.mxd:ssä kirjoitetaan seuraava:

..\..\Data\Final\Infrastructure.gdb\Streets

Kun avaat Newmap.mxd:n uudelleen, ArcMap muuntaa tallennetut suhteelliset polut (joista ilmoitetaan pisteellä ja kahdella pisteellä) takaisin absoluuttisiksi poluiksi, jotka näytetään tason tietolähteenä. Tämä muunnos riippuu aina karttadokumentin sijainnista (nykyinen hakemisto).

Suhteelliset polut eivät voi vaihtaa asemaa. Eli jos juurihakemisto on asemassa D, et voi käyttää suhteellisia polkuja navigoidaksesi aseman E hakemistoon. Jos tallennat karttadokumentin käyttämällä suhteellisia polkuja, vain samassa asemassa olevat muunnetaan ja tallennetaan.

Absoluuttiset ja suhteelliset polut mallityökaluissa

Kuten ArcMapissa, voit määrittää, että suhteelliset polut tallennetaan mallityökaluihin.

  • Mallin tiedot
  • Mallin rasterikuvat
  • Mallissa käytetyt työkalut
  • Tyylilevyt
  • Kerrostiedostot (.lyr), joita käytetään selitteissä

Tallenna suhteelliset polut napsauttamalla mallityökalua hiiren kakkospainikkeella, valitsemalla Ominaisuudet ja napsauttamalla sitten Yleiset-välilehteä. Ota valintaikkunan alaosassa oleva vaihtoehto käyttöön alla olevan kuvan mukaisesti.


Vain samaan asemaan kuuluvat polut muunnetaan

Suhteelliset polut eivät voi vaihtaa asemaa. Eli jos juurihakemisto on asemassa D, et voi käyttää suhteellisia polkuja navigoidaksesi aseman E hakemistoon. Jos tallennat mallin käyttämällä suhteellisia polkuja, vain saman aseman polut muunnetaan ja tallennetaan.

Absoluuttiset ja suhteelliset polut komentosarjatyökaluissa

Kun käytät ohjattua toimintoa Lisää komentosarja Mahdollisuus tallentaa suhteellisia polkuja näkyy ensimmäisessä paneelissa. Voit määrittää tämän vaihtoehdon myös napsauttamalla komentosarjatyökalua hiiren kakkospainikkeella, valitsemalla Ominaisuudet ja sitten Yleiset-välilehden. Valitse valintaikkunan alareunasta Tallenna suhteelliset polkunimet (absoluuttisten polkujen sijaan).

Suhteellisten polkujen nykyinen kansio on kansio, joka sisältää vastaavan työkalulaatikon. Suhteellinen polku -vaihtoehto muuntaa ja tallentaa polut:

  • Käsikirjoitus
  • Tietojoukot, joita käytetään oletusarvoominaisuudessa
  • Tiedostot, joihin työkalun metatiedot ja ohje viittaavat
  • Kerrostiedostot (.lyr), joita käytetään selitteen ominaisuudessa
  • Käännetyt ohjetiedostot (.chm)
  • Tyylilevyt

Vain samaan asemaan kuuluvat polut muunnetaan

Suhteelliset polut eivät voi vaihtaa asemaa. Eli jos juurihakemisto on asemassa D, et voi käyttää suhteellisia polkuja navigoidaksesi aseman E hakemistoon. Jos tallennat komentosarjatyökalun käyttämällä suhteellisia polkuja, vain saman aseman polut muunnetaan ja tallennetaan.

Skriptin polkuja ei muunneta

Et voi käyttää pisteitä ja kaksoispisteitä komentosarjoissa. Esimerkiksi seuraava merkintä ei toimi:

arcpy.AddField_management(..\redlands.mdb\streets", "ref_ID", "long", "9", "#", "#", \ "refcode", "NULLABLE", "REQUIRED", "#" ")

koska polku ..\redlands.mdb\streets on suhteellinen.

Mitä järkeä on käyttää suhteellisia polkuja absoluuttisten polkujen sijaan?

Absoluuttisten polkujen käytölle on tunnusomaista seuraavat:

  • Voit siirtää asiakirjan tai työkalulaatikon mihin tahansa paikkaan tietokoneellasi ja tiedot löytyvät edelleen, kun avaat asiakirjan tai työkalun.
  • Useimmissa tietokoneissa tietojen sijainti ei yleensä muutu. Eli et yleensä siirrä tietojasi kansiosta toiseen. Tyypillisesti käytetään absoluuttisia polkuja.
  • Voit viitata muilla asemilla oleviin tietoihin.

Kun käytät suhteellisia polkuja, saatat joutua tekemään seuraavat säädöt:

  • Kun siirrät karttadokumenttia tai työkalulaatikkoa, sinun on siirrettävä myös tiedot, joihin se viittaa.
  • Kun siirretään asiakirjoja, työkalusarjoja ja tietoja toiselle käyttäjälle, on käytettävä suhteellisia polkuja. Muussa tapauksessa käyttäjän tietokoneella on oltava sama hakemistorakenne kuin sinulla.

Otetaan esimerkiksi alla oleva kansiorakenne. Tässä esimerkissä D:\Tools\Toolboxes\Toolbox1 sisältää komentosarjatyökalun D:\Tools\Scripts\MyScript.py.

Absoluuttisia polkuja käytettäessä, jos siirrät työkalulaatikon D:\Tools\Toolboxes\Toolbox1 toiselle asemalle, kuten E:\Final\Toolbox1 , ArcGIS löytää D:\Tools\Scripts\MyScript.py ja kaikki toimii hyvin. . Jos käytät suhteellisia polkuja, ArcGIS ei löydä komentosarjaa eikä työkalu toimi. Työkalun valintaikkuna avautuu, mutta sen suorittamisen jälkeen saat virheilmoituksen: "Tähän työkaluun liittyvää komentosarjaa ei ole olemassa." Sinun on avattava työkalun ominaisuudet ja syötettävä komentosarjan oikea polku.

Toisaalta, jos käytät suhteellisia polkuja, voit yksinkertaisesti kopioida D:\Tools-kansion mihin tahansa paikkaan missä tahansa tietokoneessa ja kaikki toimii. Tämä ei toimi absoluuttisia polkuja käytettäessä, koska toinen käyttäjä voi kopioida kansion F:\NewTools-hakemistoon ja polkua D:\Tools\Scripts\MyScript.py ei luonnollisesti löydy hänen tietokoneestaan.

Johtopäätös

  • Suhteelliset polut eivät voi vaihtaa asemaa.
  • On parempi käyttää absoluuttisia polkuja, jos tietoja ei siirretä, kuten yleensä henkilökohtaisten tietokoneiden levyillä.
  • Suhteelliset polut ovat hyödyllisiä, kun siirrät asiakirjoja ja tietoja toiselle käyttäjälle.
  • Suhteelliset polut käyttävät piste- ja kaksoispistemerkintää (. ja ..). Voit syöttää suhteellisia polkuja näillä merkinnöillä Windowsin Resurssienhallinnassa ja Windowsin komentokehotteessa.
  • ArcGIS ei salli suhteellisten polkujen syöttämistä käyttämällä piste- ja kaksoispistemerkintöjä. Useimmiten suhteelliset polut tallennetaan dokumenttiin ja työkalulaatikkoon (kun olet valinnut suhteellisten polkujen tallennusvaihtoehdon).
  • Suhteelliset polut perustuvat nykyiseen kansioon, joka on tallennetun asiakirjan tai työkalulaatikon sijainti.

UNC-polut

UNC on lyhenne sanoista Universal (tai Uniform tai Unified) Naming Convention, ja se on syntaksi tietokoneverkoissa olevien hakemistojen ja tiedostojen käyttämiseen. Syntaksi näkyy alla:

\\\\

Esimerkiksi:

\\pondermatic\public\studyarea.gdb \\omnipotent\shared_stuff\wednesday\tools

Tietokoneen nimi erotetaan kaksoiskenoviivalla (\\).

UNC:ssä tietokoneen nimeä kutsutaan myös isäntänimeksi.

UNC-poluille on useita sääntöjä:

  • UNC-polut eivät voi sisältää taltiotunnisteita (kuten D).
  • Ei ole mahdollista siirtyä yleistä hakemistoa korkeammalle tasolle hakemistoon.
  • Vaihtoehto Tallenna suhteelliset polkujen nimet asiakirjoille ja työkaluille ei koske UNC-polkuja.

ArcGIS:ssä voit käyttää UNC-polkua missä tahansa polkupyynnössä. Tämä on erityisen hyödyllistä paikallisverkon (LAN) julkisesti saatavilla oleville tiedoille. Tiedot voidaan tallentaa yhdelle tietokoneelle, ja kuka tahansa, jolla on pääsy niihin, voi käyttää tietoja niin kauan kuin tietokonetta ei ole sammutettu tai irrotettu verkosta.

Windowsissa on mahdollista jakaa kansioita, jotta muut verkon käyttäjät voivat työskennellä niiden kanssa. Napsauta hiiren kakkospainikkeella ArcCatalogissa tai Windowsin Resurssienhallinnassa Jakaminen ja turvallisuus ja noudata lisäohjeita avautuvassa valintaikkunassa.

URL-osoite

URL tarkoittaa Uniform Resource Locatoria ja kuvaa yksilöllisesti minkä tahansa Internetissä olevan asiakirjan osoitteen. URL-osoitteen osat ovat:

  • Resurssin käyttämiseen käytetty protokolla, kuten HTTP (HyperText Transfer Protocol) tai FTP (File Transfer Protocol)
  • Isäntä (palvelin), johon yhteyttä muodostetaan
  • Isännässä olevan tiedoston polku

Esimerkiksi:

http://www.esri.com/products.html

Windows Internet Explorer antaa sinun kirjoittaa merkkijonon www.esri.com Internet Explorerin osoiteriville ja protokollatyyppi lisätään automaattisesti http://. On oikeampaa määrittää protokolla erikseen, esimerkiksi http. Muita protokollia ovat HTTPS (Secure Hypertext Transfer Protocol), FTP, mailto (sähköpostiosoite) ja uutiset (Usenet-uutiset) jne.

ArcGIS:ssä voit käyttää URL-polkuja tarvittaessa. Yleensä käyttöliittymä antaa vihjeitä, missä URL-osoitteen käyttö on mahdollista tai tarpeellista. Kun käytät URL-osoitteita ArcGIS Explorerissa, on suositeltavaa sisällyttää protokollatyyppi seuraavasti:

http://www.esri.com

ArcSDE-yhteystiedoston polku

Geoprosessointityökalut käyttävät polkua yhteystiedostoon (.sde) päästäkseen käsiksi ArcSDE-tietokantaan tallennettuihin tietoihin.

D:\Data\Final\Connection to ArcSDE.sde\EastValley\powerlines

sde-tiedoston yhteystietoja käytetään yhteyden luomiseen ArcSDE:hen, ja geotietokanta etsii pyydetyt tiedot samalla tavalla kuin tiedosto- ja henkilökohtaiset geotietokannat (katso yllä).