Visualizzazione dei risultati da 1 a 6 su 6

Discussione: popolare array via php

  1. #1
    Utente di HTML.it L'avatar di TeraBIT
    Registrato dal
    Dec 2005
    Messaggi
    178

    popolare array via php

    il preload javascript che ho nella mia pagina index funziona benissimo, l'unico problema è che ciascuna immagine da caricare deve essere specificata con url assoluto dentro l'array relativo :

    codice:
    var pics = new Array("immagini/immagine1.jpg","immagini/immagine2.png","immagini/immagineN.jpg");
    
    
    var imgObjs = new Array(pics.length);
    var loaded = 0;
    var total = pics.length;
    var cPercent = 0;
    finche le immagini non superano la trentina si può anche sopportare, ma oltre diventa un vero dramma, anche e sopratutto in caso di modifiche ai nomi delle immagini/posizione...

    vorrei poter specificare l'indirizzo della cartella/cartelle (contenente solo immagini) e che sia lo script a vedere quante ve ne sono all'interno e a caricarle

    cercando nel forum ho trovato la seguente soluzione suggerita da Xinod di utilizzare un piccolo script php dentro java che si occupa di effetuare l'operazione sopra descritta e popolare l'array :
    codice:
    <script language="JavaScript" type="text/JavaScript"> 
        // Specify the image files
        var Pic = new Array() // don't touch this
        // to add more images, just continue
        // the pattern, adding to the array below
    
    <? 
    $absolute_path = "images";
    $dir = opendir($absolute_path); 
    $f=array(); 
    
    while($file = readdir($dir)) 
       if (($file != "..") and ($file != ".")) 
           $f[]=$file; 
    
    
    unset($file,$dir); 
    sort($f); 
    
    $i = 0;
    
    foreach($f as $file) 
        echo "Pic[$i] = '$file'\n";
    
    $i++;
    ?>
    
        var p = Pic.length
    
        var preLoad = new Array()
        for (i = 0; i < p; i++){
           preLoad[i] = new Image()
           preLoad[i].src = Pic[i]
        }
    
    </script>
    quindi teoricamente mi basterebbe incollare quel codice php in posizione, però non sono sicuro possa addattarsi al mio caso, i miei dubbi sono i seguenti :

    il codice del mio preload si trova in un file preload.js che viene caricato con link nell'head della pagina index, un codice php per essere eseguito ha bisogno che la pagina sia nominata con l'estensione .php quindi se caricato da un file .js non funzionerebbe...o mi sbaglio?

    inoltre il codice di cui sopra fà riferimento a una sola cartella, come si può fare nel caso volessi aggiungere più cartelle/sottocartelle?
    è troppo impegnativo...

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: popolare array via php

    Originariamente inviato da TeraBIT
    il codice del mio preload si trova in un file preload.js che viene caricato con link nell'head della pagina index, un codice php per essere eseguito ha bisogno che la pagina sia nominata con l'estensione .php quindi se caricato da un file .js non funzionerebbe...o mi sbaglio?
    Un file incluso per il javascript puo' avere qualunque estensione... pertanto rinominalo in preload.php e mettici il tuo script dentro

    Per il resto del problema ti sposto ovviamente su PHP
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di TeraBIT
    Registrato dal
    Dec 2005
    Messaggi
    178
    il preload è richiamato dal seguente link nell'head dell'index :
    codice:
    <script type="text/javascript" src="../js/preload.js"></script>
    quindi cambiandolo in:
    codice:
    <script type="text/javascript" src="../js/preload.php"></script>
    sia il codice java che quello php ivi contenuti funzionerebbero entrambi senza problemi? chiedo perchè non sapevo si potesse richiamare documenti all'infuori di java e css nell'head...
    riguardo al type và bene che ci lascio "text/javascript"?


    Ps: ho postato in java perche il thread che avevo trovato si trovava lì, ma in effetti la discussione verteva su come modificare lo script java, non la parte php...errore mio, sorry
    è troppo impegnativo...

  4. #4
    Utente di HTML.it L'avatar di TeraBIT
    Registrato dal
    Dec 2005
    Messaggi
    178
    stando al commento dell'array
    codice:
    <script language="JavaScript" type="text/JavaScript"> 
        // Specify the image files
        var Pic = new Array() // don't touch this
        // to add more images, just continue
        // the pattern, adding to the array below
    dovrebbe essere possibile aggiungere più cartelle...ma non sò come fare...potete aiutarmi?
    è troppo impegnativo...

  5. #5
    Utente di HTML.it L'avatar di TeraBIT
    Registrato dal
    Dec 2005
    Messaggi
    178

    up... :(

    up...
    è troppo impegnativo...

  6. #6
    Utente di HTML.it L'avatar di TeraBIT
    Registrato dal
    Dec 2005
    Messaggi
    178
    e se facessi una cosa così...
    codice:
    <?
    $absolute_path1 = "../immagini";
    $absolute_path2 = "../immagini/cartellaX";
    $dir = opendir($absolute_path1, $absolute_path2); 
    $f=array(); 
    
    while($file = readdir($dir)) 
       if (($file != "..") and ($file != ".")) 
           $f[]=$file; 
    
    
    unset($file,$dir); 
    sort($f); 
    
    $i = 0;
    
    foreach($f as $file) 
        echo "Pic[$i] = '$file'\n";
    
    $i++;
    ?>
    dite che funziona...?
    è troppo impegnativo...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.