Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Leggere cartella con Ajax

    Salve, non riesco a trovare da nessuna parte un metodo semplice per caricare in una select tutte le cartelle contenuto in un altra cartella. Quando si seleziona una cartella spunta un altra select con i nomi dei file che si trovano all'interno.

    Dato che non voglio che si aggiorni la pagina penso che solo con il codice php non si possa fare, quindi penso ci voglia anche javascript per creare una selezione più dinamica .


    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    devi usare ajax, da php fatti tornare la lista delle cartelle figlie, in rete trovi molte informazioni e/o esempi.

  3. #3
    Si è da questa mattina che su google scrivo, "Ajax popular select root" "Ajax popular select directory" "Ajax read root" "Ajax caricare contenuto cartella in una select"

    Non mi esce fuori niente, al massimo qualche esempio non completo e non funzionante.

  4. #4

  5. #5
    Si questo è per riempire una select con città e paesi, io vorrei che la select si riempa con i file e le cartelle che ci sono all'interno di un altra cartella.

    root: Cartella1 - Cartella2 - Cartella3

    Select
    [Cartella1]
    [Cartella2]
    [Cartella3]

    Se si seleziona Cartella1 vengono mostrati tutti i file che stanno dentro Cartella1
    Se si seleziona Cartella2 vengono mostrati tutti i file che stanno dentro Cartella2
    Se si seleziona Cartella3 vengono mostrati tutti i file che stanno dentro Cartella3

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Difficilmente trovi esempi esattamente calzati al tuo problema: ti e' stato suggerito il metodo, poi quali dati prendere dal server per spedirli al client non e' un problema javascript....
    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

  7. #7
    A quanto ho capito, in una pagina con il codice php mi carico tutte le cartelle e i file.

    E in un altra pagina con ajax mi richiamo quei valori, dove posso decidere di formattarli come voglio.

    Questo è il codice PHP
    Codice PHP:
    <?php
    //Imposto la directory da leggere
    $directory "icone/";
    // Apriamo una directory e leggiamone il contenuto.
    if (is_dir($directory)) {
        
    //Apro l'oggetto directory
        
    if ($directory_handle opendir($directory)) {
            
    //Scorro l'oggetto fino a quando non è termnato cioè false
            
    while (($file readdir($directory_handle)) !== false) {
                
    //Se l'elemento trovato è diverso da una directory 
                //o dagli elementi . e .. lo visualizzo a schermo
                
    if((!is_dir($file))&($file!=".")&($file!=".."))
                    echo 
    $file "
    "
    ;
            }
            
    //Chiudo la lettura della directory.
            
    closedir($directory_handle);
        }
    }
    ?>
    Ma non so come collegare il codice Ajax delle città e paesi con questo mio.

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Originariamente inviato da freuxbang
    A quanto ho capito, in una pagina con il codice php mi carico tutte le cartelle e i file.
    No, se vorrai filtrare per città dovrai caricarti solo la cartella con la città
    Ma non so come collegare il codice Ajax delle città e paesi con questo mio.
    Nel esempio fornito da Vindav c'è una chiamata ajax xmlHttp.open("GET",'tuapagina.php',true) è sottinteso che un minimo di conoscenza del linguaggio ci vuole, se le tue conoscenze sono ditemi cosa e dove devo copia-incollare il codice la vedo dura
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Si hai perfettamente ragione, ma se avessi avuto le giuste conoscenze non avrei neanche scritto in questo forum. Però questo non significa che voglio o pretendo la soluzione, ma un consiglio su cosa cercare su google o su questo forum, per trovare il metodo migliore per caricare in una select o in una semplice lista il contenuto di varie cartelle.

    In questo momento sto rimediando utilizzando solo Php, caricando al primo caricamento della pagina tutte le immagini che si trovano in una cartella per poi renderle visibile o invisibile tramite css e javascript. Questa tecnica la sto utilizzando soltanto perchè le immagini sono leggerissime praticamente delle icone di 300byte. Quindi non penso che rallenteranno l'apertura della pagina. Ma sono sempre pronto ad ascoltare qualche vostro suggerimento


    grazie

  10. #10
    Dato che Ajax non lo conosco molto bene, e dovevo subito trovare una soluzione, sono riuscito a risolvere il problema utilizzando le mie conoscenze di php e javascript.
    Ovviamente ancora devo formattarlo adattandolo alle mie esigenze grafiche, ma l'importante che il tutto funziona come volevo io.



    Codice PHP:
    <script src="http://code.jquery.com/jquery-latest.js"></script>

    <script>
    function carica_icon() {


    idicon=document.getElementById('seleziona_categoria').value;

    if (document.getElementById(idicon).style.display=="none")
    {
        document.getElementById(idicon).style.display="block";
        
        $('#'+idicon).siblings().css('display', 'none');
        }


    }


    </script>


    <select id="seleziona_categoria" onchange="carica_icon()">
    <?php
    //Imposto la directory da leggere
    $directory "icone/";
    // Apriamo una directory e leggiamone il contenuto.
    if (is_dir($directory)) {
        
    //Apro l'oggetto directory
        
    if ($directory_handle opendir($directory)) {
            
    //Scorro l'oggetto fino a quando non è termnato cioè false
            
    while (($file readdir($directory_handle)) !== false) {
                
    //Se l'elemento trovato è diverso da una directory 
                //o dagli elementi . e .. lo visualizzo a schermo
                
    if ($file!=".." && $file!="." && $file!=".DS_Store")
                {
                    
    ?>
                    <option value="<?php echo $file ?>"><?php echo $file ?></option>
                    <?php
                     
    }
            }
            
        }
    }
    ?>

    </select>






    <div id="cartella">
    <ul>
    <?php
    //Imposto la directory da leggere
    $directory "icone/";
    // Apriamo una directory e leggiamone il contenuto.
    if (is_dir($directory)) {
        
    //Apro l'oggetto directory
        
    if ($directory_handle opendir($directory)) {
            
    //Scorro l'oggetto fino a quando non è termnato cioè false
            
    while (($file readdir($directory_handle)) !== false) {
                
    //Se l'elemento trovato è diverso da una directory 
                //o dagli elementi . e .. lo visualizzo a schermo
                
    if ($file!=".." && $file!="." && $file!=".DS_Store")
                {
                    
    ?>
                
                   <li class="<?php echo $file?>" style="display:none;" id="<?php echo $file?>"><?php echo $file ?>
                   
                   <ul>
                   
    <?php
    //Imposto la directory da leggere
    $directory2 $directory.$file."/";
    // Apriamo una directory e leggiamone il contenuto.
    if (is_dir($directory2)) {
        
    //Apro l'oggetto directory
        
    if ($directory_handle2 opendir($directory2)) {
            
    //Scorro l'oggetto fino a quando non è termnato cioè false
            
    while (($file2 readdir($directory_handle2)) !== false) {
                
    //Se l'elemento trovato è diverso da una directory 
                //o dagli elementi . e .. lo visualizzo a schermo
                
    if ($file2!=".." && $file2!="." && $file2!=".DS_Store")
                {
                    
    ?>
                [*] [img]<?php echo $directory2.$file2 ?>[/img] </a>
                
                <?php }
            
            }
            
    //Chiudo la lettura della directory.
            
        
    }
    }
    ?>[/list]
                   
                
                <?php }
            
            }
            
    //Chiudo la lettura della directory.
            
    closedir($directory_handle);
        }
    }
    ?>

    [/list]



    </div>

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 © 2026 vBulletin Solutions, Inc. All rights reserved.