Autor | Zpráva | ||
---|---|---|---|
sitole Profil |
Ahoj, tvořím si vlastní kod na vypsání všech souborů v adresáři.
Kod si píšu hlavně, protože jsem našel dlouhé kody a myslím si, že to rozhodně jde napsat na pár řádků Kod funguje, ale pomocí $_SERVER[SERVER_NAME] zjístím jenom adresu serveru tedy www.nic.cz, ale né přímou složku, kde je soubor.
Jak to tedy upravím? Co potřebuji přidat? Děkuji za každou připomínku! :-) <?php foreach (glob ("*") as $vypis_soubor) { $adresa = "http://" . "$_SERVER[SERVER_NAME]" . "/" . basename($vypis_soubor); echo "<a href=\"" . $adresa . "\">" . basename($vypis_soubor) . "</a>" . "<br>\n"; } ?> |
||
Chro. Profil |
#2 · Zasláno: 26. 8. 2015, 01:31:47
Nehledáš getcwd()?
|
||
Martin2 Profil * |
#3 · Zasláno: 26. 8. 2015, 03:02:08
sitole:
„myslím si, že to rozhodně jde napsat na pár řádků“ Na každý složitý problém existuje jednoduché, rychlé a chybné řešení. Soudím, že výpis souborů už někdo zvládl vyřešit optimálně. „pomocí $_SERVER[SERVER_NAME] zjístím jenom adresu serveru“ Ne spolehlivě. Tato hodnota je dána konfigurací. Může taky obsahovat wildcard, nic, IP adresu nebo jméno křečka. HTTP_HOST obsahuje hodnotu hlavičky Host požadavku a je tedy více relevantní. Ve tvém případě bych nepoužíval radši nic, respektive jen lomítko.
„ale né přímou složku, kde je soubor.“ Přiřadit adresu filesystemu k vnější URL jednoznačně nelze. URL na tohle není dost jednoznačná. Chro. ti radí getcwd , já bych doporučil spíš magickou konstantu __DIR__ , obsahující adresář aktuálního php souboru. Pokud znáš jeho URL, máš se od čeho odpíchnout.
|
||
Časová prodleva: 10 let
|
0