Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    Leggere una directory e stampare i nomi

    Ragazzi sto utilizzando questo codice per leggere il contenuto di una cartella, ma non riesco a capire il modo per "trovare" & "stampare" i nome dei file che ci sono.
    Il codice è questo:

    codice:
    <?
    $Handle = opendir ("images/");
    while (readdir ($Handle)){
     echo "$name";
    }
    closedir ($Handle);
    ?>
    Grazie!

  2. #2
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    Grazie 1000!!
    Non riuscivo più trovare quella guida in php scritta in italiano.
    Grazie!

  4. #4
    Sto utilizzando questo metodo per leggere dei file immagine all'interno di una cartella e stamparli seguendo una formattazione.
    Il codice che sto utilizzando è questo:

    codice:
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
    <?php
    $d = dir("galleria/");
    //echo "Handle: " . $d->handle . "
    \n";
    //echo "Path: " . $d->path . "
    \n";
    while ($entry = $d->read()) {
       echo "<tr><td width=\"50%\"><p align=\"center\"><img src=\"galleria/$entry.\"></td><td width=\"50%\"><p align=\"center\"><img src=\"galleria/$entry.\"></td></tr>";
    }
    $d->close();
    ?> 
    </table>
    Dove sta il problema:
    Che giustamente mi stampa due volte la stessa immagine (ma non so come evitare che succeda), il secondo è che mi trova dei file che effettivamente non ci sono. Penso siano i puntini che stampa in automatico, e non so come togliere.

    Mi sapete aiutare?

  5. #5
    se te la stampa due volte vuol dire che il file è contenuto due volte nella dir, non si inventa nessun file...

    Per la storia dei puntini dai un'occhiata alla discussione che ti ho linkato prima, se ne parla proprio di là, così come negli altri 1000 thread sull'argomento.





    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Originariamente inviato da 13manuel84
    se te la stampa due volte vuol dire che il file è contenuto due volte nella dir, non si inventa nessun file...

    Per la storia dei puntini dai un'occhiata alla discussione che ti ho linkato prima, se ne parla proprio di là, così come negli altri 1000 thread sull'argomento.





    Il problema è che se io nello stesso ciclo di while faccio stampare due volte lo stesso $entry lui giustamente mi stampa due volte lo stesso file. Quello che vorrei fare è che lui mi stampa due $entry diversi, ovvero $entry & $entry2 ($entry2 = $entry ++.

    Spero di essermi spiegato.
    Grazie!

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Da quanto ho capito vorrebbe stampare due immagini nelle 2 <td> all'interno del ciclo while, ma con il tuo codice visualizzava la stessa due volte...

    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
    <?php
    $d = dir("galleria/");
    //echo "Handle: " . $d->handle . "
    \n";
    //echo "Path: " . $d->path . "
    \n";
    while (false !== ($entry = $d->read())) {
    if($entry != "." && $entry != "..")
    {
    echo "<tr><td width=\"50%\"><p align=\"center\"><img src=\"galleria/$entry.\"></td>";
    if(false !== ($entry = $d->read()))
    echo "<td width=\"50%\"><p align=\"center\"><img src=\"galleria/$entry.\"></td></tr>";
    else
    {
    echo "<td width=\"50%\"></td></tr>";
    break;
    }
    }
    }
    $d->close();
    ?>
    </table>

    PS scusa,ma non ho avuto modo di testarlo...

  8. #8
    Sembra funzionare bene.
    Grazie!

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    di niente...

  10. #10
    Ho provato a modificare il codice in modo che lui mi faccia solo l'elenco delle cartelle, ma non mi stampa nulla anche se ci sono.
    Questo è il codice:
    codice:
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
    <?php
    $d = dir("galleria/");
    //echo "Handle: " . $d->handle . "
    \n";
    //echo "Path: " . $d->path . "
    \n";
    while (false !== ($entry = $d->read())) {
      if (is_dir($entry)){
        if($entry != "." && $entry != "..")
        {
          echo "<tr><td width=\"50%\"><p align=\"center\"><img src=\"galleria/$entry.\"></td>";
          if(false !== ($entry = $d->read()))
          echo "<td width=\"50%\"><p align=\"center\"><img src=\"galleria/$entry.\"></td></tr>";
          else
            {
            echo "<td width=\"50%\"></td></tr>";
            break;
          }
        }
      }
    }
    $d->close();
    ?>
    </table>
    Praticamente ho aggiunto la riga "if (is_dir($entry))" che dovrebbe "stabilire" se $entry è una directory o un file.

    Magari sto sbagliando ad usare "is_dir".
    Grazie!

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.