• User Attivo

    Ecco le misure che mi servirebbero:
    1 profilo:
    200x200px
    2 chat-tag-board:
    50x50 px
    3 blog:
    100x100 px

    Comuque pensa che queste sono misure standard dovremo fare qualcosa del tipo:
    [PHP]
    <?
    // Ottengo le informazioni sull'immagine originale
    list($width, $height, $type, $attr) = getimagesize($_SERVER['DOCUMENT_ROOT']."/$id.jpeg");

    //funzione che capisce se l'immagine è verticale o orizzontale
    function verticale_orizzontale($width, $height)
    {
    if (! is_numeric($num1)) { return false; }
    if (! is_numeric($num2)) { return false; }

    if ($width > $height)
    {
    {
    return $width;
    } else {
    return $height;
    }
    }
    }

    ?>
    [/PHP]

    cpendo quale delle due grandezze è più grandi potremmo capire se l'immagine è orizzontale o verticale. Poi per capire quanti pixel dobbiamo agigungere se un immagine è orizzontale ci basterà fare un sotrazzione tra l'altezza e la larghe il risultato va aggiunto ai 200x200 es:

    1.carico un immagine 1000x1800
    2.capisco che l'immagine è orizzontale quindi *$width *è il maggiore
    3. faccio una sotrazzione tra 1000-1800 il risultato è: 800
    4.aggiungo 800 alla $width default che ho scelto per la minuatura in questo caso 200x200 quindi uscirà 200x1000...

    FORSE HO SBAGLIA MA QUESTA E' UN IDEA SE NE HAI ALTRE SPARA!


  • User Attivo

    Ciao ho fatto uno script che forse si adatta molto bene al tuo problema.
    [PHP]
    <?php
    ini_set("memory_limit","256M");
    $id_raccolta = $_GET['id_raccolta'];
    $dir_thumbs = "../../thumbs/".$id_raccolta."/";
    $dir_opera = "../../opera/".$id_raccolta."/";
    $dir_original = "../../original/".$id_raccolta."/";

    $filename_temp = $_FILES['new_img']['tmp_name'];
    $filename = $_FILES['new_img']['name'];

    //--ORIGINAL--
    if (!is_dir($dir_original)) {
    mkdir($dir_original);
    }
    $file_original = $dir_original . basename($filename);
    // Ottengo le informazioni sull'immagine originale
    list($width, $height, $type, $attr) = getimagesize($filename_temp);

    // Creo la versione originale dell'immagine (original)
    $original = imagecreatetruecolor($width, $height);
    $source = imagecreatefromjpeg($filename_temp);
    imagecopyresized($original, $source, 0, 0, 0, 0, $width, $height, $width, $height);

    // Salvo l'immagine ridimensionata
    imagejpeg($original, $file_original, 100);

    if (is_uploaded_file($filename_temp)) {

    //--THUMBS--
    if (!is_dir($dir_thumbs)) {
        mkdir($dir_thumbs);
    }
    $file_thumbs = $dir_thumbs . basename($filename);
    // Ottengo le informazioni sull'immagine originale
    list($width, $height, $type, $attr) = getimagesize($filename_temp);
    
    if ($width > $height) {
        $width_new = 110;
        $height_new = ($width_new * $height)/$width;
    }
    else {
        $height_new = 100;
        $width_new = ($height_new * $width)/$height;
    }
    
    // Creo la versione thumbs dell'immagine (thumbnail)
    $thumb = imagecreatetruecolor($width_new, $height_new);
    $source = imagecreatefromjpeg($filename_temp);
    imagecopyresized($thumb, $source, 0, 0, 0, 0, $width_new, $height_new, $width, $height);
    
    // Salvo l'immagine ridimensionata
    imagejpeg($thumb, $file_thumbs, 60);
    if (is_uploaded_file($filename_temp)) {
        
        //--OPERA--
        if (!is_dir($dir_opera)) {
            mkdir($dir_opera);
        }
        $file_opera = $dir_opera . basename($filename);
        // Ottengo le informazioni sull'immagine originale
        list($width, $height, $type, $attr) = getimagesize($filename_temp);
        
        if ($width > $height) {
            $width_new = 440;
            $height_new = ($width_new * $height)/$width;
        }
        else {
            $height_new = 400;
            $width_new = ($height_new * $width)/$height;
        }
        
        // Creo la versione web dell'immagine (opera)
        $opera = imagecreatetruecolor($width_new, $height_new);
        $source = imagecreatefromjpeg($filename_temp);
        imagecopyresized($opera, $source, 0, 0, 0, 0, $width_new, $height_new, $width, $height);
        
        // Salvo l'immagine ridimensionata
        imagejpeg($opera, $file_opera, 100);
        if (is_uploaded_file($filename_temp)) {
            
            echo "success";
        }
        else {
            echo "error";
        }
    }
    else {
        echo "error";
    }
    }
    

    else {
    echo "error";
    }

    ?>
    [/PHP]
    Io ho ripreso e modificato lo script che trovate qui valums.com/ajax-upload/


  • User Attivo

    Grazie...ma non funziona :bho: mi dice error...prova nache tu il link del sito è questo

    h**p://zomer.altervista*org/login.php

    USERNAME: Zomer
    PASSWORD: tgbyhn

    :(:(


  • User Attivo

    Ciao prova a usare lo script originale ( valums.com/ajax-upload/ ), poi se funziona vai ad aggiungere le cose che ti servono...


  • User Attivo

    Non capisco niente di AJAX...scusate per il disturbo, non si potrebbe fare in php?


  • User

    Ciao a tutti, sono nuovo su questo forum.
    Mi occupo da un paio d'anni della progettazione del sito web del mio team ciclistico. Il sito è statico, e diventando sempre più grande la mole dei dati, sto cercando di apprendere il linguaggio PHP per rendere il più dinamico possibile il tutto.
    Ho utilizzato lo script creato da inverter per realizzare le fotogallery sul mio nuovo sito di prova, e devo dire che funziona tutto alla grande.

    L'unica cosa è che vorrei anche fare in modo di creare una pagina dinamica che mi visualizzi i nomi delle sottocartelle, e da li un link alla fotogallery relativa.

    Riuscite ad aiutarmi? Ci sto provando da solo da una settimana, ma causa la mia conoscenza limitata del linguaggio PHP, non ci riesco...:(

    Per darvi un'idea di quello che vorrei fare, vi dò il link del mio sito, ed alla voce Photogallery potete vedere quello che vorrei fare dinamicamente...

    biketeammandello.it

    Ciao a tutti!!!


  • User

    Nessuno è così generoso da aiutarmi? Please...


  • User Newbie

    Ciao, e complimenti Inverter per il tuo ottimo script, lo sto utilizzando per un sito di un amico.
    Vorrei chiedere, se è possibile far fare l'upload anche ad immagini con formato diverso da quello jpeg, come ad es. png e gif, utilizzando questo script.

    Grazie


  • User Newbie

    grande ottimo script domanda da 3 punti mi esce a video questi errori...

    Warning: mkdir(foto/thumbnails): No such file or directory in url-sito.net\script.fotogallery.php* on line 67

    Warning: opendir(foto/): failed to open dir: Invalid argument in url-sito.net\script.fotogallery.php* on line 72
    Impossibile aprire la cartella
    Pagine:

    domanda ho fatto settare i permessi a 777 ma nulla...

    lo script e altro stanno nella cartella principale della dir e in essa la cartella foto e successivamente ho creato al suo interno tumbnails

    pardon mi auto quoto e correggo

    *ho risolto con *
    la variabile $DirGallery che avevo settato con il link ...
    ma non bastava ho fatto proprio tutto il percorso dall'unità ad es C:/ etc fino allo script... 😉


  • User Newbie

    Ciao Inverter,

    da quanto ho letto in questo post questa fotogallery mi sembra che risponda proprio a quello stavo cercando: una galleria semplice e perfettamente integrabile nel design di qualsiasi sito.

    I link, sia della demo sia per il download, non sono più disponibili.
    Riesci per caso a ricaricarli?

    Grazie!