|
|
HTML a otevírání souborů
|
2.1.2008 17:44
Josef Veselý
|
Dobrý den,
mám nasledující problém. Na serveru generuju pomocí PHP z databáze HTML stránku, kde jsou odkazy na soubory umístěné buď na lokálním nebo síťovém disku. Chtěl bych, aby se při kliknutí na daný odkaz soubor otevřel (konkrétně je to výkres v autocadu nebo obrázek).
Odkaz mám vložen jako např.:
<A HREF="file:///D:/vykres.dwg">vykres</A>
Po kliknutí na odkaz se ale soubor neotevře. Kliknutí pravým tlačítkem a uložit jako funguje. Uložím-li si vygenerovanou HTML stránku na disk a spustím-li tuto stránku z disku už odkaz funguje a po potvrzení otevření daného souboru se otevře. Jak tento problém vyřešit? Díky |
|
|
Re: HTML a otevírání souborů
|
3.1.2008 09:38
Martin 'Kejda' Kejík
|
1. veskere soubory, ke kterym chcete pres web pristupovat musi byt umisteny ve stromu web serveru.
2. "file:///D:/vykres.dwg" znamena vem soubor vykres.dwg z lokalniho disku D: => pokud mate HTML soubor na disku ve Windows a ten dwg soubor mate v danem umisteni, pak vse funguje.
3. V momente, kdy to date do stromu serveru a klientuv webovy prohlizec dostane tu HTML stranku a uzivatel klikne na odkaz, prohlizec vidi file://, coz mu rekne, ze je na lokalnim disku a dale vidi D:/vykres.dwg - byt to *nix OS, tak vam rovnou rekne, ze to nenalezl, nebot zadny disk D: nema. Byt to windows, podiva se na disk D: a nenajde zadny vykres.dwg - kde by se tam vzal, kdyz je na serveru.
4. RESENI: Absolutni odkaz: <a href="http://nejaky.server.cz/adresar_s_vykresem/vykres.dwg">
Relativni odkaz: <a href="vykres.dwg"> - pokud je vykres.dwg ve stejnem adresari
<a href="adresar_s_dwg/vykres.dwf"> - vse se pozicuje relativne od toho PHP souboru, lze vyuzivat "..", coz znamena o adresar vyse. |
|
|
Re: HTML a otevírání souborů
|
5.1.2008 23:23
Josef Veselý
|
Tak pro případ, že by to také někoho zajímalo, sem dospěl k tomuto řešení:
Firefox:
Ten od verze 1.5.x nabízí možnost specifikovat webové adresy mající přístup k lokálním souborům. Pro unixové systémy stačí vyhledat (případně vytvořit) soubor user.js v adresáři ~/.mozilla/firefox/:profile name:/ a do tohoto souboru přidat následující:
user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://www.nazev-domeny.cz");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
kde se uvede webová adresa, případně více adres oddělených mezerou. Já sem pro Apache a své testování použil http://localhost. Pozor, na konci adresy nesmí být /.
Pak už stačí jen restartovat firefox a z daného webového serveru by mělo jít přistupovat na lokální disk pomocí file:///....
IE:
Základní problém spočívá v tom, že IE se chová v přístupu k lokálním souborům různě podle toho, jaký systém windows obsahuje service pack. U systému před SP2 je přístup takovýto:
U sítě intranet je přístup k lokálním souborům stadardně povolen. Pro ostatní webové servery se přístup k lokálním souborům dá nastavit tak, že daný server přidáme mezi důvěryhodné servery (Nástroje/Možnosti Intertnetu.../Zabezpečení/Důvěryhodné servery)
U systému se SP2 tento způsob nefunguje. Přístup k lokálním souborům je zakázán pro všechny zóny (tedy i intranet). Pro povolení přístupu daného serveru k lokálním souborům se musí nejprve zobrazit ikona Tento počítač do složky zabezpečení (za servery s omezeným přístupem). Tato ikona není primárně vůbec zobrazená. Pro její zobrazení se musí nastavit registr HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\Flags ze šestnáctkové hodnoty 21 na 47. Po tomto se zobrazí ikona Tento počítač v Zabezpečení a již se k ní tedy může přidat vybraný server pro přístup k lokálním souborům. |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|