Visualizzazione risultati 1 fino 2 di 2

Discussione: Integrare uno script

  1. #1
    Guest

    Predefinito Integrare uno script

    Salve ho creato uno script per l'upload con db ecco qui le pagine

    OPEN.PHP

    WIEV.PHP

    WRITE_DB.PHP

    E fin qui tutto bene. Ora un mio amico mi ha inviato uno script che consente di creare delle miniature delle foto e ne modifica l'estensione cosi da richiamarle eccolo qui.

    CONFIG_GALLERY.PHP


    MAIN_GALLERY.PHP
    Codice PHP:
    <?php

    // Inclusione del file config_gallery.php per aquisire le variabili.
    include("config_gallery.php");

    // Recupero della variabile passata in get.
    // il valore "index" rappresenta l'indice della fotogallery, "view" la visualizzazione della singola foto.
    @$mode = $_GET['mode'];

    // Definizione delle variabili in base al valore di $mode
    if ($mode == "index" || empty($mode) || !isset($mode))
    {
    $quanto = $thumb_width;
    }
    elseif (
    $mode == "view")
    {
    $quanto = $photo_width;
    $destination_path = $dir;
    }

    // Aumenta la memoria utilizzabile fino a 128mb e il timeout a 4 minuti.
    // Questo ci consente di creare le miniature senza avere un errore di timeout dal server
    ini_set("memory_limit", "128M");
    set_time_limit(240);

    // Se non esiste la cartella di destinazione delle miniature (vedi config_gallery.php) ne si forza la creazione
    if (!file_exists($destination_path))
    {
    mkdir($destination_path , 0777);
    }

    // Apertura della directory in cui sono contenute le foto a dimensione originale
    if ($handle = opendir($dir))
    {
    $i = 1; //Inizializzazione dell'indice
    // Letttura delle immagini conenute nella cartella $dir
    while (false !== ($file = readdir($handle)))
    {
    list(
    $width, $height, $type, $attr) = @getimagesize($dir.$file);

    // Se è una immagine "JPEG" continuo con la sua elaborazione
    // altrimenti si passa alla foto successiva
    if($type == 2)
    {
    // Elaborazione delle nuove dimensioni (altezza e larghezza) in proporzione.
    // Ciò consente di non alterare la qualità della immagine.
    if($width > $height)
    {
    $new_width = $quanto;
    $new_height = ($quanto * $height) / $width;
    $new_height = number_format($new_height, 0);
    }
    elseif(
    $height > $width)
    {
    $new_height = $quanto;
    $new_width = ($quanto * $width) / $height;
    $new_width = number_format($new_width, 0);
    }
    elseif(
    $height == $width)
    {
    $new_width = $quanto;
    $new_height = $quanto;
    }

    //Se si sta visualizzando una singola foto e questa è già stata ridimensionata si ignora questo passaggio, altrimenti la foto viene ridimensionata.
    // L'"if" controlla se la foto in questione ha già le dimensioni desiderate. Se le dimensioni non sono uguali a quelle volute, verrà ridimensionata.
    if ($mode == "view")
    {
    if (
    $new_height != $height && $new_width != $width)
    {
    isset(
    $compression) ? $compression = $compression : $compression = 100; // In cso non sia settata la compressione (vedi config_gallery.php) gli si assegna il valore di default
    $destimg=imagecreatetruecolor($new_width,$new_height) or die("Problemi nelle creazioni dell'immagine");// Creazione Immagine
    $srcimg=ImageCreateFromJPEG($dir.$file) or die("Problemi nell'aprire l'immagine"); //Apertura Immagine Originale
    ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problemi nel ridimensionamento"); //Ridimensionamento Nuova Immagine
    ImageJPEG($destimg, $destination_path.$file, $compression) or die("Problemi nel salvataggio"); //Salvataggio Nuova Immagine
    }
    }
    //Se si sta visualizzando l'indice delle foto (contenente le miniature) e queste sono già state ridimensionate si ignora questo passaggio, altrimenti la foto viene ridimensionata.
    // l'"if" controlla se esiste già una miniatura, chiamata con lo stesso nome della foto originale, presente nella cartella di destinazione. Se non esiste viene creata la minatura
    elseif (empty($mode))
    {
    if (!
    file_exists($destination_path.'/'.$file)) //Se la miniatura non esiste verrà creata altrimenti si ignora questo passaggio
    {
    isset(
    $compression) ? $compression = $compression : $compression = 100; // In cso non sia settata la compressione (vedi config_gallery.php) gli si assegna il valore di default
    $destimg=imagecreatetruecolor($new_width,$new_height) or die("Problemi nelle creazioni dell'immagine");// Creazione Immagine
    $srcimg=ImageCreateFromJPEG($dir.$file) or die("Problemi nell'aprire l'immagine"); //Apertura Immagine Originale
    ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problemi nel ridimensionamento"); //Ridimensionamento Nuova Immagine
    ImageJPEG($destimg, $destination_path.$file, $compression) or die("Problemi nel salvataggio"); //Salvataggio Nuova Immagine
    }
    }

    $image [$i] = $file; //Creazione dell'array contenente le immagini
    $i++; //Incremento dell'indice
    }
    }
    // Chiusura della cartella $dir
    closedir($handle);
    }
    else
    {
    // Se vi è un errore nell'aprire la cartella $dir allora viene stampato a video seguente paragrafo
    echo "<p align=\"center\">
    Impossibile eseguire lo script.
    <br />
    Accertati di aver impostato correttamente i parametri e
    che la cartella (nome: \"<b>
    $dir</b>\" ) in cui sono contenute le foto esista
    </p>"
    ;
    }

    //Se si sta visualizzando l'indice allora utilizzo la paginazione propria dell'indice
    if ($mode == "index" || empty($mode) || !isset($mode))
    {

    // Se si è scelto di utilizzare la paginazione (vedi file config_gallery.php) allora vengono stampati i links.
    // Altrimenti verranno visualizzate tutte le immagini nella stessa pagina.
    if (empty($numperpagina))
    {
    $numperpagina = count($image);
    }
    isset(
    $_GET['page']) ? $pageNum = $_GET['page'] : $pageNum = 1;

    $inizio = ($pageNum - 1) * $numperpagina;
    $fine = $inizio + $numperpagina;

    $i = 1; //inizializzo l'indice
    foreach ($image as $id => $nome)
    {
    if (
    $i > $fine)
    {
    break;
    }

    if (
    $i >= $inizio)
    {
    // stampa la miniatura
    echo " <a href=\"?id=$i&amp;from=$pageNum&amp;mode=view\"><img src=\"".$destination_path.$nome."\" title=\"".$nome."\" border=\"0\" alt=\"foto\" /></a>";
    }

    $i++; // incremento dell'indice
    }

    if (
    $fine > count($image))
    {
    $fine = count($image);
    }
    // Conto delle pagine
    $maxPage = ceil(count($image)/$numperpagina);


    .........
    ecc
    ?>
    Io vorrei integrare alcune funzioni del secondo script con quelle del primo, ora io non ci riesco, mi potreste aiutare? vi elenco funzioni interessate.
    Creare miniature.
    Poter richiamare l'immagine senza confuzioni con l'esetensione (perchè da quanto ho capito nel secondo script trasforma l'estensione).
    Grazie! della vostra collaborazione
    Ultima modifica di zomer : 06-07-2009 alle ore 11.30.22

  2. #2
    L'avatar di NEMO89
    NEMO89 non è connesso Neofita
    Data registrazione
    01-01-2004
    Residenza
    Benevento
    Messaggi
    29

    Predefinito

    Non credo che un lavoraccio del genere piaccia a molti...

Regole di scrittura

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