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
Nehledáš getcwd()?
Martin2
Profil *
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.

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