Autor Zpráva
Hasii
Profil *
Ahoj,

<a href='/kancelar/bezpecnost-stranek/podrobnosti/$information[id]/'><img src='../../../../images/moreinformation.png'></a>


Mám tento kód, který se vrací již přes několik složek zpátky do ROOTu, kde hledá adresář images, ovšem pokud pohnu s images o další stupeň nahoru, nebude se mi to již zobrazovat
a musím přidělat další ../, napadlo mě řešení, že si prostě uložím všechny tyto do proměnné $cesta = "../../../../images"; a v případě nutnosti budu jen upravovat počet ../, ovšem neexistuje
nějaké lepší řešení, kde však nebude cesta již přesně zadána webovou stránkou? Tím myslím, abych se vyhnul zadávání http://www.stranka.cz/images/

Díky
Jozin
Profil
Ahoj,

řešení by bylo definovat si root. tzn v rootu mít index.php s:
<?php

define('ROOT', __DIR__);

a do indexu poté includovat soubory, které mají být na výstupu. To znamená udělat i jednoduchý routing.

Ať děláme co děláme, když to chceme mít variabilní a nezávislé, tak prostě vždycky skončíme u definování rootu a nějakého routingu.
Hasii
Profil *
Zkusím, myslím si, že tak nějak to využívá i Wordpress, ne?
Jozin
Profil
Hasii:
Tak to nevím, ale například framework nette ano ;)
Rellik
Profil
Hasii:
img src='../../../../images/moreinformation.png
a nebylo by jednodužší to dělat od rootu??
<img src='./images/moreinformation.png'>
Hasii
Profil *
Rellik:
Určitě bylo, ale Tvoje ukázka nefunguje. Respektive mi ../../../../ na localhostu nenahradí ;)
panther
Profil
Rellik:
nebylo by jednodužší to dělat od rootu?
na různých serverech to fungovat nebude, ty navíc do rootu ani neodkazuješ.

Hasii:
řešení máš v [#2]. Nevím, jestli jsi jej peskočil záměrně.
Hasii
Profil *
panther:
Nepřeskočil, nejspíš ho použiji, jen mi řešení uživatele Rellik přišlo jednodušší, bohužel jak říkáš, nízká podpora...
Rellik
Profil
panther:
na různých serverech to fungovat nebude
no nevím, používám to na všech webech co sem dělal a všude to funguje... A fungovat by mělo, aspoň na linuxových sevrech.
Jinak fakt je, že čistě root je bez tečky:
<img src='/images/moreinformation.png'>


http://www.jakpsatweb.cz/clanky/lomitka-tecky.html cca v půlce stránky
panther
Profil
Rellik:
A fungovat by mělo, aspoň na linuxových sevrech.
nebude to fungovat:
- na localhostu (samozřejmě, bez dalšího nastavení)
- třeba u includů apod. - tam se odkazuje od rootu serveru, ne webu.

Hasii:
bohužel jak říkáš, nízká podpora
nic takového jsem neřekl. Odkazování do rootu samozřejmě funguje všude, jen není root jako root. A na localhosu může být zacílení rootu složitější. A taky nemusí, jak si co nastavíš.
Rellik
Profil
panther:
nebude to fungovat:
- na localhostu (samozřejmě, bez dalšího nastavení)
- třeba u includů apod. - tam se odkazuje od rootu serveru, ne webu.
No ono to s tím ./cesta funguje dobře pokud je celý obsah webu includován do index.php. Tak pak stačí zápis jakkoliv zanořené složky psát od tohoto ./ rootu. Já mám např na webu složku pro fotohalerie a v každé fotogalerii další složku pro náhledy

galery/x_galerii/v_kazde_slozka_pro_nahledy


A jelikož všechny stránky webu jsou includované do index.php , který je pořád na stejném místě, tak můžu psát odkaz na miniaturu:

./galery/x_galerii/v_kazde_slozka_pro_nahledy/fotka.jpg


Ale jak koukám tazatel má různě stránky v různých složkách a tam už je to trochu složitější.
Jinak na každém servru je ve výpisu phpinfo() kolonka DOCUMENT_ROOT která ukazuje na ROOT webu tak myslím že by to šlo tímto celé zjednodušit. Na localhostu je ta cesta pouze do root servru.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0