Visualizzazione risultati 1 fino 5 di 5

Discussione: Modificare uno Script per Foto

  1. #1
    Guest

    Predefinito Modificare uno Script per Foto

    Salve a tutti!
    A suo tempo seguendo una guida ho fatto questo script in PHP:

    Codice PHP:
    <?
    // Definisco il percorso della mia directory immagini
    $img_dir = "./foto";

    // Utilizzo opendir per aprire la directory
    $handle = opendir($img_dir);

    print
    "<body background ='./lay/layout.jpg' link='#762c29' alink='white' vlink='3c2c29'><center><table border=`1`>";

    $ind = 1;

    // Creo un ciclo ed utilizzo readdir per esplorare il contenuto della directory
    while (false !== ($files = readdir($handle)))
    {

    if (
    $files != "." && $files != ".." )
    {
    if (
    $ind <3 )
    {
    print
    "<td width = '250' height = '250'>
    <center>
    <table border='1'>
    <tr>
    <td>
    <img src=
    $img_dir/$files height='200'>
    </td>
    </tr>
    <tr>
    <td height='50' background='./lay/layout_x.jpg'>
    <p align='center'>
    <font face='Times New Roman, Times, serif'>
    <a href=
    $img_dir/$files>$files</a>
    </font>
    </p>
    </td>
    </tr>
    </table></center>
    </td>"
    ;
    $ind++;
    }else {
    $ind = 1;
    print
    "<td width = '250' height = '250'>
    <center>
    <table border='1'>
    <tr>
    <td>
    <img src=
    $img_dir/$files height='200'>
    </td>
    </tr>
    <tr>
    <td height='50' background='./lay/layout_x.jpg'>
    <p align='center'>
    <font face='Times New Roman, Times, serif'>
    <a href=
    $img_dir/$files>$files</a>
    </font>
    </p>
    </td>
    </tr>
    </table></center>
    </td>"
    ;
    print
    "</tr>";
    }
    }
    // end while
    }
    print
    "</tr></table></center>";
    ?>
    Funziona bene… praticamente legge tutte le immagini che sono nella cartella ‘foto’ e me le impagina in una tabella tipo questa http://www.erunno.altervista.org.

    Adesso vorrei apportare qualche modifica ma data la mia scarsa conoscenza di PHP non riesco a cavarci le gambe! Le cose che vorrei sono principalmente 2:

    _ Levare il formato dell’immagine (quindi fare in modo che lo script quando legge il nome del’immagine depenni il ‘.gif’)
    _ Rimuovere le due tabelle più piccole che contengono le immagini visto che esteticamente non sono il massimo…

    Potete darmi una manina?!
    Grazie In Anticipo

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Per la prima domanda basta utilizzare la funzione str_reprace(), su una stringa che ha lo stesso nome del file ( una copia di $files ), che contiene il nome senza la sua estensione, modifica il tuo codice in questo modo:
    Codice PHP:
    <?
    // Definisco il percorso della mia directory immagini
    $img_dir = "./foto";

    // Utilizzo opendir per aprire la directory
    $handle = opendir($img_dir);

    print
    "<body background ='./lay/layout.jpg' link='#762c29' alink='white' vlink='3c2c29'><center><table border=`1`>";

    $ind = 1;

    // Creo un ciclo ed utilizzo readdir per esplorare il contenuto della directory
    while (false !== ($files = readdir($handle)))
    {

    if (
    $files != "." && $files != ".." )
    {
    $c_files = $files;
    $c_files = str_replace(".gif", "", $c_file);
    if (
    $ind <3 )
    {
    print
    "<td width = '250' height = '250'>
    <center>
    <table border='1'>
    <tr>
    <td>
    <img src=
    $img_dir/$files height='200'>
    </td>
    </tr>
    <tr>
    <td height='50' background='./lay/layout_x.jpg'>
    <p align='center'>
    <font face='Times New Roman, Times, serif'>
    <a href=
    $img_dir/$files>$c_files</a>
    </font>
    </p>
    </td>
    </tr>
    </table></center>
    </td>"
    ;
    $ind++;
    }else {
    $ind = 1;
    print
    "<td width = '250' height = '250'>
    <center>
    <table border='1'>
    <tr>
    <td>
    <img src=
    $img_dir/$files height='200'>
    </td>
    </tr>
    <tr>
    <td height='50' background='./lay/layout_x.jpg'>
    <p align='center'>
    <font face='Times New Roman, Times, serif'>
    <a href=
    $img_dir/$files>$c_files</a>
    </font>
    </p>
    </td>
    </tr>
    </table></center>
    </td>"
    ;
    print
    "</tr>";
    }
    }
    // end while
    }
    print
    "</tr></table></center>";
    ?>
    Ovviamente questo codice funzione solo se hai un file con estensione .gif.

    Praticamente ho creato la variabile $c_files, una copia di $files, la funzione str_replace() ricerca la stringa presente nel primo parametro e la sostituisce con la stringa del secondo, il tutto all'interno della stringa del terso.

    Per la seconda domanda credo di non averla capita.

    Se sei interessato, esiste anche la classe glob() per leggere le directory, che ti risparmia righe di codice e ovviamente e migliore dell'opendir() e dell'readdir()
    Ultima modifica di sevenjeak : 26-03-2010 alle ore 10.54.49 Motivo: u

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    mmmh no un momento... in questo modo non si vede proprio la scritta.

    http://www.erunno.altervista.org

    l'altra cosa che volevo era semplicemente eliminare le sottotabelle... sono brutte a vedersi... però lasciando magari una divisione in celle lasciando divisa immagine e scritta!

  4. #4
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Scusa, ho scritto male la seconda riga dopo la if, all'interno del while, modifica la riga in questo modo:
    Codice PHP:
    $c_files = str_replace(".gif", "", $c_files);
    Avevo messo, $c_file al posto di $c_files come terso parametro della funzione

    Lo provato ed ora funziona
    Ultima modifica di sevenjeak : 26-03-2010 alle ore 11.54.30

    Sevenjeak
    Software developer and much more

  5. #5
    Guest

    Predefinito

    E' veramente bello adesso grazie :)

    la seconda cosa invece è fattibile? non so se mi sono spiegato bene...

    Le immagini sono all'interno di una tabella vedi? vorrei rimuoverla perchè esteticamente brutta...

    Praticamente l'immagine starebbe all'interno della cella più grande tutto qui...

Regole di scrittura

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