- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Leggere contenuti di una cortella usando soo javascript/jquery
-
Leggere contenuti di una cortella usando soo javascript/jquery
Salve a tutti voi, è da un po' che non entravo qui dentro
Arriviamo subito al problema: sto costruendo un sito e in un file .js ho un'array vuoto. Ho bisogno, dandogli il percorso di una cartella, che vada a leggere tutti i file al suo interno e che inserisca il nome di ognuno di loro come elemento dell'array.
È possibile farlo senza AJAX? È possibile usare codice PHP in un file .js? (Non credo, ma una cosa del genere l'avevo già fatta in PHP).Grazie a tutti in anticipo!
-meisEDIT: solo dopo l'invio mi sono accorto degli errori di battitura. Correggo quelli qui, ma quelli del titolo sono rimasti, scusate
-
Ciao meis,
inizio col chiarirti un po' le idee. AJAX sta per Asynchronous Javascript And XML, non è un linguaggio diverso.
Considera che quando si tratta di far fare qualcosa al Javascript, significa farlo fare al client, quindi al browser. Se tu hai un sito miosito.com e la tua cartella è miosito.com/cartella/, questa cartella ha permessi di lettura pubblici? Il webserver che la ospita (Apache, ngix, ...) è configurato per consentirle il directory listing?
Se queste basi ci sono, non ti servono tecniche specifiche per leggere le cartelle, ti serve semplicemente di caricare il sorgente restituitoti chiamando miosito.com/cartella. Ogni A HREF che vedi, è un file contenuto in quella cartella. Sappi in ogni caso che dal momento in cui rendi pubblica quella cartella al Javascript, la rendi pubblica a chiunque, quindi qualsiasi utente inserisca nel proprio browser miosito.com/cartella/ potrà vederne (e scaricarne) il contenuto.
-
Ciao Francesco,
Grazie per la risposta. I permessi della cartella sono 777. Non credo che sia configurata per il directory listing, visto che se vado con il browser su miosito.com/cartella/ mi da un errore 403. C'è un modo per renderla leggibile?
Mi è venuta in mente un'altra cosa. Se in questa cartella creassi io stesso un file che tramite PHP lista tutti i file eccetto sè stesso presenti in quella cartella, e prendessi lui stesso come sorgente, potrei avere tutti i collegamenti che sto cercando dinamicamente. È corretto il mio ragionamento?
-
EDIT: ci sono riuscito come ho scritto sopra, ma se avete dei consigli migliori... scrivete pure!
$(document).ready(function(){ $("#foto > div").load('slideshow.php', function() { numerofoto(); }); //questo mi carica i tag <img /> function numerofoto() { var foto = $("#foto > div > img").length; //trovo numero totale degli img $("#foto > div img").animate({opacity: 0}, 0).hide("fast"); $("#foto > div img:first-child").show("slow").animate({opacity: 1}, 1000); // con queste due righe nascondo le altre e faccio vedere la prima var n = 1; setInterval(function() { n += 1; if(n > foto) { n = 1; } $("#foto > div img").animate({opacity: 0}, 1000).hide("fast"); $("#foto > div img:nth-child("+n+")").show("slow").animate({opacity: 1}, 1000); }, 2500); // con questa funzione ogni 2500 secondi una si nasconde e l'altra si vede } });
Quello che sto cercando di fare adesso è rendere più "fluida" la transizione. Ovvero, come si presenta adesso (muovilanotte.com) prima finisce di nascondere un'immagine e poi fa vedere l'altra. Quello che vorrei riuscire a fare è modificare contemporaneamente le opacity senza però far sì che le immagini vadano una in basso e una in alto l'altra, devono essere nello stesso punto ma a due livelli diversi. Si può fare? Grazie!