PDA

View Full Version : [javascript] - Conteggio jpg in cartella e visualizzazione


gabmac2
26-12-2010, 21:47
Come si può contare il numero di file jpg (o anche gif) presenti in una cartella in modo poi in un secondo momento di eseguire un random su quel valore?
Grazie in ancitipo

tomminno
26-12-2010, 23:46
Da Javascript non hai modo di accedere al filesystem.

gabmac2
27-12-2010, 00:32
non si può fare allora?
avendo una cartella di jpg e gif non si può quindi sapere quante ne esistono in questa directory?

bobbytre
27-12-2010, 01:05
in php c'e' la funzione scandir che legge tutti i files presenti in una cartella ,dal risultato puoi poi estrarre solo i contenuti che ti servono

tomminno
27-12-2010, 08:34
in php c'e' la funzione scandir che legge tutti i files presenti in una cartella ,dal risultato puoi poi estrarre solo i contenuti che ti servono

Se non fosse che lui ha taggato con javascript il topic.
Php è un linguaggio lato server, se chiede javascript probabilmente ha bisogno di qualcosa lato client.

tomminno
27-12-2010, 08:35
non si può fare allora?
avendo una cartella di jpg e gif non si può quindi sapere quante ne esistono in questa directory?

Si può fare ma non con Javascript.
Perchè vorresti farlo proprio con Javascript?

gabmac2
27-12-2010, 11:22
per esercitazione,
partendo da una cartella con immagini all' interno dovrei creare una slideshow con queste immagini prese a random dalla directory.Pensavo di contarle,poi fare un valore % il numero di immagini per inserirle

MEMon
27-12-2010, 13:22
per esercitazione,
partendo da una cartella con immagini all' interno dovrei creare una slideshow con queste immagini prese a random dalla directory.Pensavo di contarle,poi fare un valore % il numero di immagini per inserirle

Devi contare con php e utilizzare il valore con javascript.

tomminno
27-12-2010, 13:59
Devi contare con php e utilizzare il valore con javascript.

Si ma php conterebbe i file lato server.
Al massimo con javascript può fare lo script ajax che carica la prossima immagine dal server, immagine impostata da php.

tomminno
27-12-2010, 14:02
per esercitazione,
partendo da una cartella con immagini all' interno dovrei creare una slideshow con queste immagini prese a random dalla directory.Pensavo di contarle,poi fare un valore % il numero di immagini per inserirle

Cioè vorresti che un utente visitando la pagina web visualizzi uno slide show con immagini prese dal suo hd?

I javascript sono limitati ad eseguire all'interno di un browser e non hanno permessi per accedere ai file del computer dell'utente.

Jak696
27-12-2010, 14:17
Si ma php conterebbe i file lato server.
Al massimo con javascript può fare lo script ajax che carica la prossima immagine dal server, immagine impostata da php.
Entrambe le strade vanno bene: nel primo caso li conti lato server e ti salvi i nomi in uno script javascript generato dinamicamente; nel secondo caso tramite ajax ti fai dare di volta in volta il nome dell'immagine. La prima opzione è la più semplice.

MEMon
27-12-2010, 14:35
Si ma php conterebbe i file lato server.
Al massimo con javascript può fare lo script ajax che carica la prossima immagine dal server, immagine impostata da php.

Conta i file lato server e infatti e quello che gli serve.

gabmac2
09-01-2011, 18:27
mi scuso,se riapro la discussione dopo qualche giorno di inattività
Ho trovato su internet

var k = 0;
function conta() {
var img = new Image();
img.src = "imm/" + (k++) + '.jpg';
img.onload = conta;
img.onerror = allafinefaiquesto;
}
alert(k);
function allafinefaiquesto() {
/*alert(k);*/
totImg = k-1;
alert(totImg);

}

conta();
però non funziona,come si può fare? Come detto si devono contare le jpg in una cartella
Credo che le modifiche debbano essere fatte in "conta"
grazie in anticipo

MEMon
09-01-2011, 18:32
Quel codice presuppone che tutte le tue immagini abbiano un nome del tipo:
1.jpg
2.jpg
etcc

Ogni volta che carica una immagine prova a caricare quella successiva.
Appena non trova più l'ennesima immagine viene eseguito allafinefaiquesto() che mostra quante immagini ha caricato.
Ovviamente se hai nella cartella le immagini 1.jpg - 2.jpg - 4.jpg te ne conta solo 2.
Si è un metodo stupido ma se le tue immagini hanno un nome prestabilito puoi usarlo altrimenti devi tenere buoni i consigli che ti abbiamo dato tempo fa, ovvero devi usare PHP per contare i file nelle cartelle.

MEMon
09-01-2011, 18:36
Sia chiaro che le immagini devono risiedere sul SERVER non sul tuo pc o su quello del visitatore.

gabmac2
09-01-2011, 19:29
ok,ma devo usare javascript,il sito attualmente è in locale