Autor Zpráva
zdendaking
Profil *
Mám dynamický web v PHP a nastala potřeba rozšíření pro podadresáře.

struktura je jednoduchá v root adresáři "aplikace"

aplikace/index.php
aplikace/podadresar-1/index.php
aplikace/podadresar-2/index.php

Na podadresáře se odkazuji:


<a href="./podadresar-1">p1</a>
<a href="./podadresar-2">p2</a>

A pokud se chci vrátit ( přes root/podadresar-1/menu.php ) tak tam mam:

<a href=<?php echo("/index.php");?>main</a]http://$_SERVER[HTTP_HOST]/index.php");?>main</a>

mimochodem tohle mi nefunguje na localhostu, což dobře nechápu, protože MS, Opera to skousnou, ale Netscape, Chrome, Safari ne a s následujícím odkazem to je naopak u nahrané stránky na webu.

<a href=<?php echo("/aplikace");?>main</a]http://$_SERVER[HTTP_HOST]/aplikace");?>main</a>

To bych pominul, lze si pro ladění na lokálu nastavit jinou variantu URL než na serveru, ale potřeboval bych radu jak se odkazovat zpětně z dalšího level úrovně III. na úroveň II.

aplikace/podadresar-2/podadresar-3/index.php

návrat do

aplikace/podadresar-2/index.php

Googlil jsem, prolezl jsem i dostupné manuály a odkazy na téhle konferenci, ale všude se končí v rootu nebo nejvýše v II. úrovni. Ten localhost bude asi v blbém nastavení, ale nejsem na takové úrovni, abych to mohl řešit, spíš si ty adresy ve skriptech na lokále přepíšu na to, co tam funguje.

Pokud by měl někdo radu nebo na nějaký dobře utajený web k dané problematice, tak se mi fakt uleví. Zdeněk


Drobná oprava, už mi z toho asi hrabe

<a href=<?php echo("/index.php");?>main</a]http://$_SERVER[HTTP_HOST]/index.php");?>main</a>


<a href=<?php echo("/aplikace");?>main</a]http://$_SERVER[HTTP_HOST]/aplikace");?>main</a>

Zdeněk


Tak nevím, už asi ani neumím psát, ale kde se tam bere ten blábol za echo nevím, protože echo píši do kódu s echo("http:.......... a tady si to napsalo co chce.

Zdeněk
Joker
Profil
zdendaking:
Jestli jsem to správně pochopil, dotaz se PHP netýká a předmětem je prostě to, jak odkázat o úroveň výš.

Na nadřazený adresář se v souborových systémech prakticky univerzálně odkazuje dvěma tečkami.
Čili když chci například ze souboru (web)/adresar/podadresar/index.html odkázat na (web)/adresar/foo/bar.html, můžu napsat:
<a href="../foo/bar.html">
Případně relativně od kořene webu:
<a href="/adresar/foo/bar.html">
zdendaking
Profil *
Vstoupilo světlo do jeskyně nevidomého. Prostě jsem to překódil a zamotal se v echo výpisu adres, protože $_SERVER[HTTP_HOST] je tam zbytečně. Je zajímavé, že na tuhle strategii s obecnou detekcí přes PHP konstanty, jsem se již setkal v několika tutoriálech. Dík za nakopnutí. Zdeněk
Joker
Profil
zdendaking:
Je zajímavé, že na tuhle strategii s obecnou detekcí přes PHP konstanty, jsem se již setkal v několika tutoriálech.
To se může v některých případech hodit, ale zrovna HTTP_HOST, tj. hlavička posílaná z klienta, která ani nemusí být vyplněná, mi na to nepřijde ideální.

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