Autor | Zpráva | ||
---|---|---|---|
HGD Profil |
#1 · Zasláno: 8. 7. 2008, 17:28:58
poraďte prosím, jestli to nějak vůbec jde... ?
když kliknu na odkaz s názvem složky, aby se mi ve vedlejší buňce vypsali soubory, a pak dál bych chtěl, když kliknu na soubor, aby se vypsali detaily o něm |
||
Bubák Profil |
#2 · Zasláno: 8. 7. 2008, 17:46:30
JS nemůže pracovat se soubory (s výjimkou cookies, ale to ti nepomůže).
|
||
HGD Profil |
#3 · Zasláno: 8. 7. 2008, 18:08:41
tak mi poradte jak to mam spáchat, přes PHP to zvládnu, ale to je mi jakssi prd platný, myslel sem nějak data z JS dostat do toho PHP kodu, ale to taky newim
|
||
Nox Profil |
#4 · Zasláno: 8. 7. 2008, 19:48:08
Možná přes AJAX, ale to nevim, jinak tam PHP bude muset být, možná zkusit iframe v kombinace i get v url
|
||
HGD Profil |
#5 · Zasláno: 8. 7. 2008, 21:21:16
no přes ten AJAX by to šlo, zkoušim se to po netu "naučit" kde se dá, čet sem nějaký články, ale sem z toho blbej :(
Nejspíš už dokážu odeslat scriptu název adresáře kterej chci pročíst, ale nevim kam dál Poraďte někdo pls |
||
peta Profil |
#6 · Zasláno: 9. 7. 2008, 07:41:54
HGD
jednoduchy ajax jde resit pres tag script asi takto <script src='mujajax.php?a=1&b=2&c=3'></script> |
||
HGD Profil |
#7 · Zasláno: 9. 7. 2008, 18:47:06
eee? tos mi zamotal hlavu uplně :)
|
||
HGD Profil |
#8 · Zasláno: 9. 7. 2008, 22:04:13 · Upravil/a: HGD
já bych rači chtěl pochopit ten AJAX, hodim sem script, ale je 99,9% blbě, ale logiku už i chápu :)
function odeslatHTTP(method,url){ var httpRequest; if (window.XMLHttpRequest) { // Mozilla, Safari, Opera, Konqueror, ... httpRequest = new XMLHttpRequest(); if(http_zadost.overrideMimeType){ http_zadost.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // Internet Explorer httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } httpRequest.open(method,url,true); httpRequest.onreadystatechange = function (){vyberFolder(httpRequest)}; httpRequest.send(null); }; function vyberFolder(httpRequest){ if(httpRequest.readyState == 4){ // - odpověd přijata vpořádku if(httpRequest.status == 200){ // - vše v pořádku if (!odeslatHTTP('GET', 'strukture.php?folder='+slozka)) { return false; } document.getElementById('files').inerHTML +'ahojky'; // výpis souborů ze složky }else{ // - stránka nenalezena, popř. jiná chyba alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText); } }else{ // - nepřipravená odpoved } }; strukture.php <?php header("Content-Type: text/xml"); echo "<folder>"; $adresar=opendir("../../image/".$_GET[folder]); while ($img=readdir($adresar)){ if($img=="." || $img==".." || $img=="Thumbs.db")continue; // $typ=explode(".",$img); echo '<soubor id="'.$img.'"><a href="">'.$img.'</a></soubor>'; } echo "<odpoved id='pocet$row[id]'>$row[pocet]</odpoved>\n"; mysql_free_result($result); echo "</folder>"; ?> |
||
Matty Profil |
#9 · Zasláno: 9. 7. 2008, 22:06:24
HGD
Tak mě napadá, je to možná složité řešení, ale přes PHP si nejdřív zjistit podrobnosti všech souborů ve složkách a pak je nějak přenést do JS. |
||
Leo Profil |
#10 · Zasláno: 9. 7. 2008, 22:47:16
"Tak mě napadá, je to možná složité řešení, ale přes PHP si nejdřív zjistit podrobnosti všech souborů ve složkách a pak je nějak přenést do JS."
A co si myslite, ze dela ten Ajax? Leo |
||
peta Profil |
#11 · Zasláno: 10. 7. 2008, 11:21:26 · Upravil/a: peta
HGD
:) o to mi slo <script src='mujajax.php?a=1&b=2&c=3'></script> to je jednoduchy priklad ajax reseni pres SCRIPT tag metodou GET. Chybi script, ktery prida so stranky novy tag SCRIPT se zadanym SRC. odeslatHTTP('GET', 'strukture.php?folder='+slozka) To je uplne totez, metoda GET, zpusob pres httpRequest viz Leo ajax dela to, ze - prida do stranky objekt - nastavi na nem URL na ten php soubor - objekt necha odeslat skryte - pak prevezme obsah php souboru a zpracuje bud jako text nebo XML Tobe v tom scriptu schazi cast, kdy nactes data z toho php souboru, cast, kde je data = (request).textResponse nebo xmlResponse v pripade textResponse se to da vypsat primo alertem data = req.textResponse; alert(data) kdyz das do www prohlizece primy odkaz na http ://.../strukture.php , tak se ti vypise presne to, co dostane ten ajax. |
||
HGD Profil |
#12 · Zasláno: 10. 7. 2008, 17:59:48
můžete na to někdo pls kouknout, co je tam špatně? já to tady látam jak můžu a nefunguje, ale newim jestli mam špatně odeslání nebo příjem ze serveru
strukture.php <?php header("Content-Type: text/xml"); echo "<folder>"; $adresar=opendir("../../image/".$_GET[folder]); while ($img=readdir($adresar)){ if($img=="." || $img==".." || $img=="Thumbs.db")continue; // $typ=explode(".",$img); echo '<soubor id="'.$img.'"><a href="">'.$img.'</a></soubor>'; } echo "</folder>"; ?> "AJAX" function odeslatHTTP(method,url){ var httpRequest; if (window.XMLHttpRequest) { // Mozilla, Safari, Opera, Konqueror, ... httpRequest = new XMLHttpRequest(); if(httpRequest.overrideMimeType){ httpRequest.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // Internet Explorer httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } httpRequest.open(method,url,true); httpRequest.onreadystatechange = function (){vyberFolder(httpRequest)}; httpRequest.send(null); }; function vyberFolder(httpRequest){ if(httpRequest.readyState == 4){ // - odpověd přijata vpořádku if(httpRequest.status == 200){ // - vše v pořádku odeslatHTTP('GET', 'strukture.php?folder='+slozka); var files = httpRequest.responseXML.getElementsByTagName('soubor'); for (var i=0; i < files.length; i++) { document.getElementById('vypis_souboru').innerHTML = files[i].firstChild.data+'<br>'; } }else{ // - stránka nenalezena, popř. jiná chyba alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText); } }else{ // - nepřipravená odpoved } }; výpis adresářů-odkazy <a onClick="vyberFolder(\''.$slozka[$a].'\')">'.$slozka[$a].'</a> |
||
HGD Profil |
#13 · Zasláno: 10. 7. 2008, 19:01:07
tak už to i funguje, ale mam takovej problémek, že chci vypsat všechny ty soubory do jedný buňky, ale jak je tam to: document.getElementById('vypis_souboru').innerHTML, tak se vypíše jen jeden soubor vždycky, resp. nejspíš ten poslední vypsanej z cyklu a nevim jak tam vždycky jeden nechat a další jen přidat
|
||
Časová prodleva: 16 let
|
0