Visualizzazione risultati 1 fino 15 di 15

Discussione: Posizionare immagini lette da una directory in una tabella automaticamente

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito Posizionare immagini lette da una directory in una tabella automaticamente

    Ho trovato in internet questo codice:
    Codice PHP:
    <?
    $handle
    =opendir('immagini');
    $pics=array();
    $count=0;

    while ((
    $file = readdir($handle))!==false) {
    if (
    substr($file,-4) == ".jpg" || substr($file,-4) == ".gif" || substr($file,-4) == ".png" || substr($file,-4) == ".JPG" || substr($file,-4) == ".GIF" || substr($file,-4) == ".PNG"){
    if (
    substr($file,0,3) == "tn_"){
    $pics[$count] = $file;
    $count++;
    }

    }
    }
    closedir($handle);
    sort($pics);
    reset($pics);

    echo
    '<div align="center"><table width="100%" border=0 cellpadding=0 cellspacing=0>';
    echo
    "<tr>";
    $frac=ceil(100/$colonne);
    if ((
    $frac*$colonne)>100) $frac--;

    for (
    $f=0;$f<=sizeof($pics)-1;$f++){ // 2
    $isbr = strpos((($f)/$colonne),".");
    if (!
    $isbr && ($f!=0)){echo "</tr>\n<tr><td colspan=$colonne><br></td></tr>\n<tr>\n";}
    if (
    $f==0){echo "\n";}
    echo
    '<td width="'.$frac.'%" valign="middle" align="center">';
    echo
    '<a href="immagini/'.substr($pics[$f],3).'" target="_blank" title="'.$lang_ingrandisci.'">';
    echo
    '<img src="immagini/'.$pics[$f].'" border=0></a><br><input type="radio" name="immagine" value="'.substr($pics[$f],3).'">';
    echo
    '</td>';
    echo
    "\n";
    }
    // close table
    echo '</tr></table></div>';
    ?>
    Se voglio che dopo avermi letto dalla directory "icone" tutte le immagini gif me li metta in ordine di nome (le immagini stanno numerate per 001.gif, 002.gif, ecc) in questa tabella come dovrei fare?
    Codice HTML:
    <table border="0" width="100%">
    	<tr>
    		<td style="width:256">
    		<p style="text-align:center">
    		&nbsp;</p></td>
    		<td style="width:256">
    		<p style="text-align:center">
    		&nbsp;</p></td>
    		<td style="width:256">
    		<p style="text-align:center">
    		&nbsp;</p></td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		</td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    		<td style="width:256" align="center">
    		&nbsp;</td>
    	</tr>
    </table>
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Ospite Guest

    Predefinito

    Quello script dovrebbe ordinare già di per sè i nomi dei files grazie alla funzione sort():
    Codice PHP:
    sort($pics);
    reset($pics);

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Certo ma io ho bisogno che me li elenchi nella tabella da me postata però solo i file con estensione gif presenti nella cartella icone...e non voglio che cliccandoci sopra si apra l'anteprima...
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    Ospite Guest

    Predefinito

    Codice PHP:
    <?
    $estensione
    ="gif";
    $dir="icone/";

    foreach(
    glob($dir."*.".$estensione) as $file){
    $pics[] = $file;

    }

    sort($pics);
    reset($pics);

    echo
    '<div align="center"><table width="100%" border=0 cellpadding=0 cellspacing=0>';
    echo
    "<tr>";

    for (
    $f=0;$f<count($pics);$f++){
    $isbr = strpos((($f)/3),".");
    if (!
    $isbr && ($f!=0))
    echo
    "</tr>\n<tr><td colspan=\"3\"><br></td></tr>\n<tr>\n";
    if (
    $f==0)
    echo
    "\n";
    echo
    '<td style="width:256px"><p style="text-align:center">';
    echo
    '<img src="'.$pics[$f].'">';
    echo
    '</p></td></tr>';
    echo
    "\n";
    }
    ?>
    </tr></table>

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ottimo è quello che volevo...si può fare il modo che a 30 immagini visualizzate esca un link "Avanti" e visualizza altre 30 immagini e via cosi?
    Apprezzi l'aiuto? Offrimi un caffè!

  6. #6
    Ospite Guest

    Predefinito

    Prova così:
    Codice PHP:
    <?
    $pics
    =array();
    $estensione="png";
    $dir="img/";
    $dividi=30;

    foreach(
    glob($dir."*.".$estensione) as $file){
    $pics[] = $file;

    }

    sort($pics);
    reset($pics);

    if(!isset(
    $_GET['pg']))
    $_GET['pg']=0;

    echo
    '<div align="center"><table width="100%" border=0 cellpadding=0 cellspacing=0>';
    echo
    "<tr>";
    for (
    $f=$_GET['pg'];$f<($_GET['pg']+$dividi);$f++){
    $isbr = strpos((($f)/3),".");
    if (!
    $isbr && ($f!=0))
    echo
    "</tr>\n<tr><td colspan=\"3\"><br></td></tr>\n<tr>\n";
    if (
    $f==0)
    echo
    "\n";
    echo
    '<td style="width:256px"><p style="text-align:center">';
    if(
    $pics[$f]) echo'<img src="'.$pics[$f].'">';
    echo
    '</p></td>';
    echo
    "\n";
    }

    echo
    "</tr></table>";


    if(
    count($pics)>($_GET['pg']+$dividi)){

    echo
    "<br /><br /><a href=\"?pg=".($_GET['pg'] +$dividi)."\">Avanti</a>";
    }

    ?>

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Mi dispiace non funziona, vedo la pagina bianca e se vedi l'HTML esce solo il codice tabella bianco.
    Apprezzi l'aiuto? Offrimi un caffè!

  8. #8
    Guest

    Predefinito

    Se non sbaglio la funzione glob necessita di indirizzo assoluto no? potrei anche sbagliarmi, ma prova a sostituire:

    $dir="img/";

    con

    $dir = "/membri2/miki92/img/";
    ( sempre che la cartellastia in quella posizione )

    o con $dir = "/membri/miki92/img/";

  9. #9
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    No sto provando in locale attualmente e casomai me ne ricorderò se non funziona in remoto...comunque grazie per l'interessamento.
    Apprezzi l'aiuto? Offrimi un caffè!

  10. #10
    Ospite Guest

    Predefinito

    Senza parole -.-
    Codice PHP:
    $estensione="gif";
    $dir="icone/";

    La funzione glob() supporta anche path relative.

  11. #11
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Aspetta probid...cosa vuoi dire con l'espressione "Senza parole"???
    Non sei d'accordo con me?
    Apprezzi l'aiuto? Offrimi un caffè!

  12. #12
    Ospite Guest

    Predefinito

    Devi sostituire:
    Codice PHP:
    $estensione="png";
    $dir="img/";
    con:
    Codice PHP:
    $estensione="gif";
    $dir="icone/";
    Prendi qualche secondo di riflessione prima di un eventuale risposta sparata...

  13. #13
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Già l'avevo cambiata comunque non funzionava...ora invece funziona...problemi di chache o localhost? In questi giorni Internet mi da dei seri problemi ... comunque per non andare OT...si potrebbe aggiungere anche un link indietro?

    Ti ricordo che cancellare un messaggio per scriverne un altro "consecutivo" equivale a fare UP
    Ultima modifica di seneca : 01-10-2007 alle ore 21.36.19
    Apprezzi l'aiuto? Offrimi un caffè!

  14. #14
    Ospite Guest

    Predefinito

    Aggiungi a fine script:

    Codice PHP:
    if(($_GET['pg']-$dividi)>=0){

    echo
    "<br /><br /><a href=\"?pg=".($_GET['pg'] -$dividi)."\">Indietro</a>";
    }

  15. #15
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ok grazie...concluso.

    (E' inutile che lo dica ma...mitico come sempre probid!)
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •