Visualizzazione dei risultati da 1 a 10 su 10

Discussione: For che non funziona?

  1. #1

    For che non funziona?

    Buon pomeriggio,ho una cartella contenente immagini .jpg, .gif, .png ect ect. ho fatto un controllo per il quale
    mi prenda in considerazione soltanto le .jpg.
    La necessità che ho è di visualizzarne 4 alla volta in una tabella, ogni <td> deve contenere al suo interno
    4 immagini, se ne trova altre 4, le splitta nel <td> successivo e cosi via.

    Non so se sono stato chiaro.

    Quello che ho è questo:
    if(is_dir($dirname)){
    echo("<h2>Contenuto della directory $dirname:</h2>");
    $dir = opendir($dirname);
    echo "<table border=1 width=40%>";
    echo "<tr>";
    while($file=readdir($dir)){
    $findme = ".jpg";
    $mystring1 = $file;
    $pos1 = strpos ($mystring1, $findme);
    //fare un ciclo for per inserire dentro una tabella 4 immagini per riga con accapo
    if ($pos1 !== false) {
    //echo $file." ".$pos1."
    ";
    for($file=1;$file<5;$file++){
    echo "<td>[img]$mystring1[/img]</td>";
    }
    }
    echo "</tr>";
    }
    echo "</table>";
    closedir($dir);
    }
    else{
    echo "$dirname non è una directory valida";
    }

    il problema sta nel fatto che con questo ciclo for,mi visualizza 4 immagini per <td> ma, sempre la stessa
    nel <td> successivo mi visualizza un'altra immagine ripetuta per 4 volte.

    Come posso visualizzare 4 immagini diverse dentro il primo <td> e altre 4 diverse nel secondo?
    Grazie a tutti...

  2. #2
    codice:
    if(is_dir($dirname)){ 
    echo("<h2>Contenuto della directory $dirname:</h2>"); 
    $dir = opendir($dirname); 
    echo "<table border=1 width=40%>"; 
    echo "<tr>";
    $i = 0;
    while($file=readdir($dir)){ 
    $findme = ".jpg"; 
    $mystring1 = $file; 
    $pos1 = strpos ($mystring1, $findme); 
    if ($pos1 !== false) { 
    echo "<td>[img]$mystring1[/img]</td>";
    $i++;
    //se sono alla 4° riga o un multiplo di 4 cambio riga
    if($i%4==0){
    echo "</tr><tr>";
    }
    } 
    }
    //finito il ciclo aggiungo le celle mancanti e chiudo la riga
    if($i%4!=0){
    $mancano = 4-($i%4);//righe mancanti
    for($j=1;$j<=$mancano;$j++){
    echo "<td> </td>";
    }
    }
    echo "</tr>"; 
    echo "</table>"; 
    closedir($dir); 
    } 
    else{ 
    echo "$dirname non è una directory valida"; 
    }
    ho modificato al volo il tuo script non garantisco magari dovrai metterci le mani sopra

  3. #3
    Consideralo anche un invito a mettere il codice tra i tag code...

    http://forum.html.it/forum/misc.php?...bbcode#buttons

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Originariamente inviato da piero.mac
    Consideralo anche un invito a mettere il codice tra i tag code...

    http://forum.html.it/forum/misc.php?...bbcode#buttons
    io odio i tag code
    rivoglio i tag php

    cmq ho ragione piero.mac si deve essere cattivissimi

    ANTAGONIA LEGGI IL REGOLAMENTO

  5. #5
    Originariamente inviato da bubu77
    io odio i tag code
    rivoglio i tag php

    cmq ho ragione piero.mac si deve essere cattivissimi

    ANTAGONIA LEGGI IL REGOLAMENTO
    Odio condiviso .... vanno troppo a dx .. quando la fanno lunga.

    E poi i colori....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    grazie ragazzi... si è vero bisogna essere cattivissimi..

  7. #7
    ho provato lo script sopra postato e funziona alla grande.
    Il problema è , se visualizzo la pagina che mi deve restituire le immagini, che ho dentro la cartella foto, va bene, altrimenti, se richiamo questa pagina dentro un'altra utilizzando la funzione include, le immagini non me le visualizza.. sapete dirmi come mai?

    In pratica la struttura è questa:ho la mia index.htm con il menù, tra i quali c'è anche foto, tutte le pagine le includo dentro una tabella.

    Sapete dirmi come mai ho questo inconveniente?
    Grazie mille.....

  8. #8
    Non so se ho capito bene... devi tenere presente che quando includi una pagina, questa viene inglobata nello script al posto del comando che la invoca, e ne assume le caratteristiche di posizione rispetto al path di eventuali altri file richiamati.

    Quindi i path relativi possono essere falsati se si trovano in posizione diversa nel file che include rispetto a dove si trova il file incluso.

    Piu' difficile da spiegare che da capire.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    si si ho capito...
    ho fatto vari tentativi.. l'ultimo mi ha portato ad inserire la pagina che mi visualizza le immagini,le immagini stesse, nella cartella principale dove ho l'index.htm nella quale faccio i vari include.. e cosi funziona.. però il dubbio mi resta, nel senso che, non posso avere le immagini sparse nella cartella principale, le devo mettere dentro una loro cartella e richiamarle a dovere...
    ho cambiato duecento volte la path... ma non funziona se le foto le prendo dalla cartella.... mmmma!!!!

  10. #10
    metti un path assoluto.... da qualunque parte ti trovi richiamera' sempre il file previsto.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.