Php absolut sökväg till filen. Absolut och relativ sökväg till filer


Varje webbsida, bild, video, etc. är för det första en fil som har sin egen absolut eller relativ sökväg (adress). Själva filen på Internet finns på en dator som heter server. Därför bör du överväga hur filen presenteras på servern och på Internet. I den här artikeln skulle jag vilja klargöra ovanstående punkter och klargöra den fråga som tagits upp. Ska vi försöka?

Absolut sökväg (adress)

Vad har hänt absolut väg till filen?

Absolut väg eller adressär den fullständiga sökvägen eller adressen, i förhållande till hemmapp på servern eller Internetdomännamn.

Ordspråk " hemmapp"Jag menar början på det utrymme som tilldelas av värdleverantören. Till exempel om vi pratar om lokal server, på operativ system Windows kommer själva enheten att fungera som hemmapp, dvs C:/. Samtidigt tilldelar värdleverantören ofta bara ett visst virtuellt (villkorat) utrymme till användaren, för vilket hemmappen är specifik mapp, ofta kallad /home .

Ordspråk " Domän namn "Jag menar en URL som börjar med ett omnämnande av protokollet, till exempel: http://sitename.ru/. På Internet är detta hemmappen för var och en av de presenterade resurserna.

Hur tar man reda på den absoluta sökvägen på servern i PHP?

Om allt är mer eller mindre klart med URL-adressen, så är situationen något mer komplicerad med hemmappen på servern. I slutändan har varje leverantör sina egna problem och detta bör man ta hänsyn till.

Låt mig börja med det faktum att den absoluta sökvägen på servern vanligtvis bestäms i förhållande till platsen för skriptet där detta händer. Till exempel, filen config.php finns i rotmappen på webbplatsen och vi måste ta reda på den absoluta sökvägen till den.

Låt mig förtydliga genom att säga " Rotmappen"Jag menar en mapp på servern dedikerad till webbplatsen. Det är detta som fungerar som utgångspunkten för URL:en i förhållande till domännamnet.

För att göra detta kan du använda konstanten __FILE__, som innehåller den fullständiga sökvägen och namnet på den aktuella filen där den anropas. För att bara få den fullständiga sökvägen och ta bort namnet på den aktuella filen kan du använda funktionen dirname(), som returnerar den överordnade katalogen för den angivna sökvägen. Till exempel:

$abspath = dirname(__FILE__) ."/";

I PHP 5.3 och senare kan du redan använda konstanten __DIR__:

$abspath = __DIR__

Därför är det mycket bekvämt att inkludera filen config.php i framtiden och använda den absoluta sökvägen för variabeln $abspath som erhålls i den som utgångspunkt. Låt oss till exempel anta att test.php-skriptet finns i mappen: path/ - and nödvändig fil data.txt i mappen: data/ . I det här fallet kan samtalet se ut så här:

Include_once("../config.php"); $fh = fopen($abspath ."/2013/12/data/data.txt", "r");

Observera att jag kopplade config.php-filen med en relativ sökväg, men mer om det senare.

Relativ sökväg (adress)

Vad är en relativ filsökväg?

Relativ väg eller adressär en sökväg eller adress i förhållande till platsen för filen där en annan fil nås.

Alla filsystem är en strikt hierarki av överordnade och underordnade mappar och filer. Till exempel: C:\folder\file.php – här är mappen\-mappen ett underordnat till C:\-enheten och en förälder till filen file.php-filen.

För tydlighetens skull, låt oss överväga följande hierarki:

  • fil1.php
  • mapp\
    • fil.php
    • undermapp\
      • fil3.php

För att komma åt filen C:\file2.php från filen C:\folder\file.php måste vi avsluta den aktuella mappar\ , dvs. gå upp en nivå. För detta kan du använda, mapp (Jag skulle till och med säga pseudo-mapp) överordnad katalog, som representerar två punkter (..) . Med andra ord kommer vi att få sökvägen: ..\file2.php - relativt filen file.php .

För att komma åt filen C:\folder\subfolder\file3.php från filen C:\folder\file.php behöver vi ange undermappen\undermappen, d.v.s. gå ner en nivå. Så vi får sökvägen: undermapp\fil3.php - i förhållande till filen file.php .

Låt oss göra saker mer komplicerade och gå från filen C:\folder\subfolder\file3.php till filen C:\file2.php . Den relativa sökvägen kommer att se ut så här: ..\..\file2.php - vi har gått två nivåer högre. Gör tvärtom, det vill säga från filen C:\file2.php går vi till filen C:\folder\subfolder\file3.php. Den relativa sökvägen kommer att se ut så här: folder\subfolder\file3.php - vi kommer att gå ner två nivåer.

Fördelar och nackdelar med relativ väg (adress)

Uppenbarligen innehåller den relativa sökvägen inte hemmappen och överordnade mappar. Därmed är den slutliga adressen kortare. Dessutom, om du behöver flytta från en domän till en annan, behöver du inte registrera en ny absolut adress.

Å andra sidan, om vi citerar innehållet på en webbplats på en annan resurs, med samma bilder som den relativa sökvägen anges i, kommer vi att få ett felmeddelande, eftersom på tredje parts resurs webbplatsmappar och filer saknas. Detta kommer att hända om du visar en sida i cachen. sökmotorer. Återigen, att använda en relativ sökväg kan lätt göra ett misstag, vilket kommer att resultera i ett problem med webbplatsindexering.

För att sammanfatta bör det noteras att det är tillrådligt att minimera användningen av relativa sökvägar eller adresser och använda absoluta sökvägar och adresser.

Slutsats

I min artikel försökte jag överväga den grundläggande frågan relaterad till absoluta och relativa sökvägar (adresser) till filer och mappar. Faktum är att om du arbetar på en dator, så har du redan på förhand en idé om filsystem, men utan att ta hänsyn till några nyanser, är det ganska svårt att komma igång och beröra ett antal frågor som oundvikligen relaterar till riktigheten av adressering. Det är allt jag har. Tack för din uppmärksamhet. Lycka till!

vid 8:00 Redigera meddelande 5 kommentarer

Länkadressen kan vara antingen absolut eller relativ. Absoluta adresser måste börja med protokollet (vanligtvis http://) och innehålla namnet på webbplatsen. Relativa länkar är baserade på roten till webbplatsen eller det aktuella dokumentet.

Exempel 8.2 visar hur man skapar en absolut länk till en annan webbplats.

Exempel 8.2. Använder absoluta referenser

<a href="https://gtavrl.ru/sv/formatirovanie-yacheek-po-usloviyu-otnositelnye-i-absolyutnye-adresa/">Absolut adress</a>

Att lära sig HTML

När du anger en webbplatskatalog som en länk (till exempel http://site/css/), visas indexfilen. Det här är filen som laddas som standard när du kommer åt en katalog utan att uttryckligen ange filnamnet. Vanligtvis är indexfilen ett dokument som heter index.html.

Absoluta länkar används vanligtvis för att peka på ett dokument på en annan nätverksresurs, men det är också möjligt att göra absoluta länkar inom den aktuella webbplatsen. Detta praktiseras dock inte ofta, eftersom sådana länkar är ganska långa och besvärliga. Därför används relativa länkar övervägande inom webbplatsen.

Länkar i förhållande till det aktuella dokumentet

När du skapar relativa länkar måste du förstå vilket värde du ska ange för href-attributet, eftersom det beror på den ursprungliga platsen för filerna. Låt oss titta på några typiska alternativ.

1. Filerna finns i en mapp (Fig. 8.4).

Detta filnamn tas endast som ett exempel på webbplatsen, ryska tecken med mellanslag bör inte användas i filnamn, och även i olika fall.

2. Filerna finns i olika mappar(Fig. 8.5).

När källdokumentet är lagrat i en mapp och den länkade finns i roten av webbplatsen, ska två punkter och ett snedstreck (/) placeras före filnamnet i länkadressen, som visas nedan.

Två poäng in I detta fall innebär att avsluta den aktuella mappen till en högre nivå.

3. Filerna placeras i olika mappar (Fig. 8.6).

Nu originalfil finns i två undermappar, och för att länka till dokumentet i roten av webbplatsen måste du upprepa föregående exempel två gånger.

Länk

Situationen är liknande med hur många undermappar som helst.

4. Filerna placeras i olika mappar (fig. 8.7).

Nu förändras situationen, källfilen finns i roten på webbplatsen och filen som du behöver länka till finns i mappen. I det här fallet blir sökvägen till filen som följer.

Länk

Observera att det inte finns några ytterligare punkter eller snedstreck före mappnamnet. Om filen inte finns i en, utan i två mappar, skrivs sökvägen till den så här.

Länk

Länkar i förhållande till webbplatsroten

Ibland kan du hitta sökvägen till filen i förhållande till roten på webbplatsen, ser det ut som "/Mapp/Filnamn" med ett snedstreck i början. Ja, spela in Kurser innebär att länken leder till en mapp som heter kurs, som finns i roten av webbplatsen, och i den måste du ladda ner indexfilen.

Observera att denna anmälningsform inte fungerar på lokal dator, men endast under kontroll av en webbserver.

Som du vet, i href-parametern för taggen () måste du ange sökvägen till filen som refereras till.
Många skriver något som http://somesite.ru/catalog/doc.html. Ja, ingen bråkar, det fungerar. Men det finns ett "men". Låt oss titta på ett exempel.

Låt din webbplats vara värd, till exempel, på något gratis värd och dess adress var följande: http://fsite.freehosting.ru.
Det finns cirka 100 dokument på servern. Så du bestämmer dig för att flytta din webbplats till en annan domän,
låt det vara betald värd i ru-zonen: http://site.ru. Tja, ska vi nu ändra http://fsite.freehosting.ru till http://site.ru överallt?
Ja, tack vare redaktörer som homesite är detta möjligt. Men detta är ingen lösning.
Låt oss anta att du kontrollerar dess funktionalitet innan du laddar upp en sida till servern
på din apache-hemserver (för de som ännu inte vet vad en "hemserver" är, gå hit (Installera och konfigurera en apache-server), och istället för http://localhost måste du skriva http:// site.ru överallt Håller med om detta, det är åtminstone obekvämt.

Lösningen är att, när du anger sökvägen till en fil, inte ta hänsyn till dess position på webbplatsen, utan dess position på servern.

Absolut väg

Låt oss ta till exempel filen doc.html, som finns på: http://somesite.ru/catalog/doc.html. Som ni vet finns det en www-mapp på servern. Som vi kan se av adressen innehåller den här mappen katalogmappen, och den innehåller redan filen doc.html.

Om du, när du anger sökvägen till en fil, sätter / framför adressen, kommer den att likna följande: root_directory_in_the_north/www/sökväg till filen.
Det vill säga, http://somesite.ru/catalog/doc.html liknar följande: /catalog/doc.html.
Så när det finns en / framför adressen betyder det att "nedräkningen" börjar från www-katalogen.
Nu, istället för http://localhost/index.html, kan du skriva /index.html från vilket dokument som helst.
Men för att komma till cgi-katalogen måste du skriva så här: /cgi-bin/sökväg till filen.

Sökvägar skapade med metoderna som beskrivs ovan kallas absoluta, eftersom den absoluta (fullständiga) sökvägen till filen på servern anges.

Relativ väg

Det finns också relativa sökvägar, som specificeras i förhållande till själva dokumentet som länken kommer ifrån.
Om du till exempel skapar en länk i doc.html newcat/new.html, innebär detta att filen new.html finns i newcat-katalogen, som i sin tur finns i samma katalog som filen doc.html. Som du kan se är denna sökväg relativt till filen doc.html. Var denna fil än finns kommer sökvägen newcat/new.html alltid att vara giltig om doc.html-filen och newcat-katalogen är på samma nivå (dvs. i samma katalog).

Du kan också flytta upp en katalog i förhållande till ett dokument. För att göra detta måste du skriva ../.
Till exempel finns det en stor katalog, den innehåller två kataloger: primära och sekundära. Den primära katalogen innehåller den redan välbekanta doc.html-filen; och i den sekundära katalogen finns en fil new.html. För att göra en länk från doc.html-filen till new.html-filen måste du skriva ../secondary/new.html. Men om den stora katalogen finns i www-katalogen, kan sökvägen till filen new.html anges så här: /big/secondary/new.html

Istället för en slutsats är det värt att säga att användningen av absoluta och relativa vägar i hög grad underlättar arbetet för webbmästare, oavsett om det är en nybörjare eller en professionell. Så använd denna möjlighet, som de säger, till fullo, och försök att undvika vägar som http://site.ru/catalog/file.file, eller åtminstone ta till deras hjälp så lite som möjligt.

Bra dålig

Jag hoppas att du lyckades klara den sista uppgiften och skapade tre sidor med text. Vi designade den med taggar och kom ihåg deras syfte. Tja, en rimlig fråga uppstår: "Hur navigerar man mellan dessa sidor?" Lätt! Här behöver vi länkar.

En länk är ett sidelement som i huvudsak är ren text, men det är aktivt! Det vill säga när du klickar på den här texten omdirigeras besökaren till en annan sida. Är det inte sant, det är precis vad vi letade efter! Så låt oss snabbt lära oss hur man använder länkar, här är ett exempel:

Min sida

Titta: "a"-taggen, och den har följande attribut: "href" och "target", även om dessa inte är alla attribut den har denna tagg, men jag ska förklara principen för dig. Vissa taggar, som länk, har attribut. Det finns obligatoriska och valfria attribut. Specifikt, i vårt fall krävs href, men mål är det inte.
Men låt oss återgå till själva länken. När det gäller vad de är, är det bättre att läsa i motsvarande ämne på min webbplats: vilken typ av länkar det finns. Men där pratade jag inte i detalj om relativa och absoluta vägar:

Https://site/1.png - absolut sökväg file://localhost/C:/1.png - absolut sökväg på den lokala datorn../img/1.png – relativ sökväg

Här är några exempel. En absolut sökväg hårdkodar adressen till en sida eller fil. Det är inte önskvärt att använda dem, för om du utvecklar en webbplats på en dator och sedan överför den till servern, måste alla vägar ändras, kan du föreställa dig hur mycket krångel? Det är mycket bättre att använda relativa sökvägar, vilket fungerar enligt följande: det finns en arbetskatalog där den körande (öppna) filen finns. Och alla relativa sökvägar börjar redan från arbetskatalogen. För att flytta uppåt i katalogen måste du skriva ".." som i exemplet ovan. Om du vill stanna kvar i den här katalogen, skriv omedelbart namnet på filen eller mappen.

Tja, för förståelse: låt oss ha en mapp med filer, som ligger på följande adress C:\site och det finns en annan mapp C:\site2. I den första mappen finns sidorna page1.html, page2.html, page3.html och en mapp med img-bilder, och i den andra mappen, det vill säga site2, finns sidorna page4.html och page5.html.
Följaktligen öppnar vi sidan page1.html från webbplatsmappen som den första och dansar från den:

Sida2.html är sökvägen till den andra sidan, den finns i samma katalog som den första. page3.html är densamma. img/1.png – bild i mappen med bilder. ../site2/page4.html – den här sidan finns inte i arbetsmapp Därför gick vi upp i en katalog och gick till mappen site2 för att komma åt sidan 4. ../site2/page5.html – samma sak.

Jag hoppas att det blev lite tydligare om relativa och absoluta vägar.

Här är ankaret för en länk dess text som du kan klicka på. Href innehåller vägen till vilken vi är på väg. I mål – övergångsparametrar, till exempel, öppnas i ett nytt fönster. Det finns en länktips i titeln som dyker upp när du håller muspekaren över den. Det finns många fler länkalternativ, men det är de det här ögonblicket vi behöver det inte, för det viktigaste nu, om du inte har glömt, är att länka samman våra tre sidor.
För att göra detta, öppna en sida i anteckningsblocket och i huvuddelen i början, så att länkarna är överst på sidan, lägg till länkar:

Giraff | Elefant | Zebra... Därefter kommer vår text om djuret, som vi skrev tidigare, i förra lektionen.

Glöm inte följande punkter: istället för page1.html och 2 och 3, ange namnen på dina sidor. Alla sidfiler måste finnas i samma mapp, annars använd relativa eller absoluta sökvägar för att komma åt dem.

Artikeln innehåller kodbitar. Full version du kan få det här - https://bitbucket.org/okiseleva/html-and-css-learn/src. Mappar - "absolute_path_lvl_1" och alla undermappar.

Vägen kan vara absolut eller relativ.

Absolut väg

En absolut sökväg är sökvägen från rotmappen till filen.

Sökvägen består av alla mappar som vi behöver titta på, åtskilda av ett snedstreck. Låt oss titta på ett exempel:

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

Absolut sökväg till filen

Relativ väg

En relativ sökväg är en länk som pekar till andra sidor på din webbplats i förhållande till webbsidan där länken redan finns.

Om vi ​​flyttar ner i mapparna separerar vi dem också med "/". Om du behöver gå upp en nivå, skriv ".."

1. Det enklaste exemplet på en relativ sökväg är helt enkelt ett filnamn. om filen är i närheten, ange bara dess namn

Hej.png

Relativ sökväg, fil i närheten


2. Gå upp en mapp

../Kevin_lvl_2.png

Relativ väg 2

3. Ett mer komplicerat exempel, från Diff_paths.html till bilden med Kevin

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

Relativ väg 3


Vad är skillnaden mellan absoluta och relativa banor?

Det är väldigt enkelt. Om sökvägen anges från systemroten är detta en absolut sökväg. Hur kommer det sig postadress V verkliga livet– oavsett vart du går, men på exakt adress hittar du alltid rätt plats.

Om roten inte anges i början av sökvägen kommer denna väg att vara relativ och den kommer att byggas från den aktuella positionen. I verkligheten är det som vägen till spritaffären – "två kvarter till vänster och rakt hela vägen". Denna väg kan endast nås från en specifik punkt. Från den andra kommer du att hamna på en helt annan plats.

I fil absolute_path_lvl_1/level_2.2/Diff_paths.html du kan se ett exempel HTML-sidor med olika sökvägar till filer.

Här är ett exempel på absolut och relativ sökväg för samma fil med Kevin.


D:/hgprojects → Jag laddade ner projektet "html-and-css-learn" här. Du kanske har ett annat sätt


PS - mer detaljer i boken "







2024 gtavrl.ru.