Autor | Zpráva | ||
---|---|---|---|
Tomáš Jelínek Profil |
No co člověk nečeká:
Mám jednoduchý příkaz: echo '<a href="'.$path.$file.'" target="blank">'.$path.$file.'</a><br>'; Ten vygeneruje toto: <a href="D:\Documents and Settings\Pictures\Iphone\IMG_0036.JPG" target="_blank">D:\Documents and Settings\Pictures\Iphone\IMG_0036.JPG</a> No a při otevření se změní "D:\" na "d:\" ( v adresním řádku), .JPG zůstane velkými písmeny. Vyhodí to hlášku: Firefox nemůže otevřít tuto adresu, neboť protokolu (d) není přiřazen žádný program. Co dělám špatně? Pokud bych chtěl také odkazem otevřít pdf, jak na to? Díky |
||
maks Profil |
#2 · Zasláno: 9. 11. 2013, 18:58:34
Tomáš Jelínek:
linkuj relativně, ať nemusíš později přepisovat všechny odkazy. |
||
Tomáš Jelínek Profil |
#3 · Zasláno: 9. 11. 2013, 19:12:10
To bohužel nejde, protože web je umístěn jinde než soubory.
|
||
lionel messi Profil |
#4 · Zasláno: 9. 11. 2013, 19:16:26
Tomáš Jelínek:
„Pokud bych chtěl také odkazem otevřít pdf, jak na to?“ To asi nepôjde, je to vec klientovho prehliadača, ako si ho nastaví. „To bohužel nejde, protože web je umístěn jinde než soubory. Ako inde? Je na serveri, to je jasné, ale relatívne adresy fungujú aj on-line. |
||
Tomáš Jelínek Profil |
#5 · Zasláno: 9. 11. 2013, 19:29:25
1. Je to pro moje účely, chci aby po kliknutí na odkaz se otevřel soubor pdf, tudíž stačí dát odkaz na pdf soubor nebo je třeba ještě něco?
2. No já vím, ale já mám zdrojáky webu na na C:\...\slozka_webu a tyto soubory jsou na D:\.....\odkazovaneSoubory Pokud to tedy je, ukaž jak. |
||
maks Profil |
#6 · Zasláno: 9. 11. 2013, 19:31:13
Tomáš Jelínek:
pokud je web na serveru, tak na tvůj disk D pochopitelně nevidí. Nemá jak. Pokud chceš i přesto odkazovat absolutně na soubor na disku (nevím, kde „jinde“ v rámci lokální kopie webu se mohou soubory nacházet), odkazuje se skrze protokol file:///D:...
|
||
lionel messi Profil |
#7 · Zasláno: 9. 11. 2013, 19:34:04 · Upravil/a: lionel messi
Tomáš Jelínek:
„C:\...\slozka_webu“ Toto asi nebude adresa, kde bežia stránky on-line, jedine to môže byť na localhoste, pokiaľ si nevytvoril takýto strom adresárov na FTP, ale tomu nenasvedčujú spätné lomítka. Aká adresárová štruktúra je na serveri? |
||
Tomáš Jelínek Profil |
#8 · Zasláno: 9. 11. 2013, 19:41:26
lionel messi:
Servr teď neřeš, já potřebuji odkazovat někam, kam servr nevidí. maks: Pak se tu objevil další problém, že při doplnění o file:/// se po kliknutí na odkaz nic nestane. |
||
margin Profil * |
#9 · Zasláno: 9. 11. 2013, 19:55:56
Zkus něco takového, mělo by to u tebe fungovat:
file://localhost/D:/Documents%20and%20Settings/Pictures/Iphone/IMG_0036.JPG |
||
Tomáš Jelínek Profil |
#10 · Zasláno: 9. 11. 2013, 20:14:55
Upraveno:
echo '<a href="file://localhost/'.str_replace(" ", "%20",$path).$file.'">'.$path.$file.'</a><br>'; Z toho vznikne <a href="file://localhost/D:\Documents%20and%20Settings\Pictures\Iphone\IMG_0126.JPG">D:\Documents and Settings\Pictures\Iphone\IMG_0126.JPG</a> |
||
Petr ZZZ Profil |
#11 · Zasláno: 9. 11. 2013, 20:17:15
Reaguji na Tomáše Jelínka:
„ale já mám zdrojáky webu na na C:\...\slozka_webu a tyto soubory jsou na D:\.....\odkazovaneSoubory“ Tak to sjednoť. Vytvoř si třeba na D:\ složku třeba moje-stranky a v této složce dvě podsložky, nazvané třeba moje-obrazky a moje-pdf . Do složky moje-obrazky nahrej (nebo lépe asi zkopíruj) obrázkové soubory, do složky moje-pdf nahrej/zkopíruj soubory ve formátu .pdf . Do složky moje-stranky dej soubor index.html nebo index.php (nevím, jestli píšeš stránky přímo v HTML nebo je generuješ přes PHP) a další stránky (soubory) webu. Potom budeš moct na jednotlivých stránkách webu volat soubory například takto nějak:
<img src="moje-obrazky/obrazek234.jpg" alt="234"> <img src="moje-obrazky/obrazek235.jpg" alt="235"> <a href="moje-obrazky/obrazek121.jpg">obrázek číslo 121</a> <a href="moje-pdf/pdf34.pdf">PDF číslo 34</a> Tento postup má výhodu v tom, že až budeš později chtít web zveřejnit, jen v rootu webu vytvoříš ty stejné dvě podsložky moje-obrazky a moje-pdf a do těch nakopíruješ obrázky a soubory pdf . Do rootu zkopíruješ soubory index.html , stranka1.html a stranka2.html atd... (nebo příslušné php soubory – nevím, jak to máš).
|
||
Tomáš Jelínek Profil |
#12 · Zasláno: 10. 11. 2013, 08:02:51
I když se to nezdá, takový začátečník opravdu nejsem i když jsem s PHP delší dobu nedělal. Tento postup má pro můj účel jistý problém.
Za 1. by musela být složka s těmi dokumenty serverovou složkou...co kdybych se potřeboval dostat i do dejme tomu zase jiné složky na C:\ 2. Ten servr by neobsluhoval jen tuto funkci. 3. Toto zveřejněno nebude. 4. Spíš jde o to, že jsem byl požádán (strýcem), abych napsal něco, co mu pomůže vyhledávat dokumenty. Chtěl to přes webové rozhraní. Ostatně jsem si myslel, že to nebude zrovna vhodné. Ale co mi opravdu vrtá hlavou je to, že vše bylo v pohodě, dokud jsem nechtěl vytvořit obyčejnej odkaz. Odkaz, směřující na adresu, kterou po vložení do adresního řádku normálně otevřu, ale za boha to přes odkaz nemohu otevřít - kliknout na to. Přikládám zdroják, který bohužel taky nefunguje (mám podezření, že tam mám blbě JavaScript). <script> newWindow(var link) { window.open(link, "_blank", "location=yes,status=no,width=600,height=500,resizable"); } </script> <?php @$query = $_POST['query']; $path = "D:\Documents and Settings\Pictures\Iphone\\$query"; if (!$directory = opendir($path)) { echo "Adresar neexistuje"; } else { $files = 0; echo '<div class="results">'; while ($file = readdir($directory)) { $link = "file://" . $path . $file; $link = str_replace(" ", "%20", $link); $link = str_replace("\\", "/", $link); echo "<script>"; echo 'var windowAdress="' . $link . '";'; echo "</script>"; echo '<a href="' . $link . '" target="_blank" onClick="newWindow(windowAdress)">' . $link . '</a><br>'; $files ++; } echo $files == 0 ? "Nic nenalezeno." : ""; echo '</div>'; } ?> file://D:/Documents%20and%20Settings/Pictures/Iphone/IMG_0080.JPG P.S.: Znovu radši připomínám, že jsem PHP delší dobu nedělal. |
||
maks Profil |
#13 · Zasláno: 10. 11. 2013, 17:45:28
Tomáš Jelínek:
„abych napsal něco, co mu pomůže vyhledávat dokumenty“ to nechápu. Není na vyhledávání dokumentů ve Windows lepší použít Windowsí vyhledávání? Přijde mi to jako drbání se... Co si slibuješ od toho JS (ř. 20 - 23), který tam je? na otevírání do nového okna bohatě stačí target=_blank , který tam máš.
„Z čehož vyleze file://D:/Documents%20and%20Settings/Pictures/Iphone/IMG_0080.JPG“ A ta cesta (včetně velikosti písmen) je v pořádku? Jen ta lomítka na začátku by měla být (tuším) tři, firefox mi tam to třetí doplňuje automaticky. Když si zadáš danou URL do adresního řádku ručně, daný soubor se zobrazí? Zkus ji zadat se třemi lomítky. Pokud je cesta správně, není důvod, proč by se (třeba i po ručním zadání adresy) obrázek nezobrazil. |
||
Tomáš Jelínek Profil |
#14 · Zasláno: 10. 11. 2013, 17:52:04
maks:
to nechápu. Není na vyhledávání dokumentů ve Windows lepší použít Windowsí vyhledávání? Přijde mi to jako drbání se... Já si to nevymyslel. Ale ještě lepší je asi Google Desktop Co si slibuješ od toho JS (ř. 20 - 23), který tam je? na otevírání do nového okna bohatě stačí target=_blank, který tam máš. Jeden z pokusů to rozfungovat A ta cesta (včetně velikosti písmen) je v pořádku? Jen ta lomítka na začátku by měla být (tuším) tři, firefox mi tam to třetí doplňuje automaticky. Když si zadáš danou URL do adresního řádku ručně, daný soubor se zobrazí? Zkus ji zadat se třemi lomítky. Ano, je zcela správná. Odkaz na kliknutí nereaguje, ale když klasicky zadám cestu ručně, je to bez problému... |
||
Petr ZZZ Profil |
#15 · Zasláno: 10. 11. 2013, 18:06:43
Nemohla by ten problém způsobovat zpětná lomítka
\ ? Zkoušel´s je předělat na normální lomítka / ?
|
||
Tomáš Jelínek Profil |
#16 · Zasláno: 10. 11. 2013, 18:14:25
No ale to dělám, o to se stará toto:
$link = str_replace("\\", "/", $link); |
||
Davex Profil |
#17 · Zasláno: 10. 11. 2013, 19:09:03
Lokální soubor se přes odkaz na webové stránce neotevře, protože je to bezpečnostní opatření Firefoxu. Viz kb.mozillazine.org/Links_to_local_pages_do_not_work.
|
||
Tomáš Jelínek Profil |
#18 · Zasláno: 10. 11. 2013, 19:12:35
Jak se zdá, tak nejen Firefoxu, každopádně děkuji za odpověď.
|
||
Časová prodleva: 11 let
|
0