Visualizzazione risultati 1 fino 19 di 19

Discussione: Thumbnails,conviene crearli e cancellarli istantaneamente?

  1. #1
    Guest

    Predefinito Thumbnails,conviene crearli e cancellarli istantaneamente?

    ciao a tutti,volevo chiedere un consiglio,io uso un codice di questo tipo per creare le anteprime:

    Codice PHP:
    function resize($source_file, $output_file, $size, $quality)
    {
    //jpeg resizer
    $success = false;
    list(
    $width, $height) = getimagesize($source_file);

    $new_width = intval(($width * $size) / max($width, $height));
    $new_height = intval(($height * $size) / max($width, $height));

    if (
    $image_in = imagecreatefromjpeg($source_file) )
    {
    if (
    $image_out = imagecreatetruecolor($new_width, $new_height) )
    {
    imagecopyresampled($image_out, $image_in, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    if (
    imagejpeg($image_out, $output_file, $quality) )
    {
    $success = true;
    }
    imagedestroy($image_out);
    }
    imagedestroy($image_in);
    }
    return
    $success;
    }
    a questo punto ho notato che lo script crea un immagine,il punto e che avere cosi tanti doppioni di immagini puo essere scomodo per via dello spazio sul sito che viene occupato,e allora mi chiedevo:
    conviene creare le anteprime "istantaneamente" quando servono,e quando l'utente cambia pagina cancellarle,e ricrearle solo quando le richiedono nuovamente? mi chiedevo anche se questa funzione creando immagini consumasse banda... scusate l'ignoranza :D
    ciao

  2. #2
    Guest

    Predefinito

    Veramente le immagini che crei ogni volta si sovrascrivono, visto che assegni loro sempre gli stessi nomi (almeno nella funzione postata non c'è traccia di controlli sul nome).


    Ciaoooo!!!!

  3. #3
    Guest

    Predefinito

    hhm ops.... quindi in poche parole in quello script,c'e solo un immagine che varia a seconda delle richieste,potrebbe andare bene cosi... ma cosa succede se due utenti cercano di visualizzare due immagini diverse nello stesso momento? funziona correttamente oppure genera qualche errore?

  4. #4
    Guest

    Predefinito

    Funziona corretamente

    ma nn potresti semplicemente utilizzare il codice html per cambiare le dimensioni dell'immagine mostrata??? Molto più facile e funziona di sicuro

  5. #5
    Guest

    Predefinito

    si ma in questo modo l'immagine ha altezza e larghezza diverse,ma il peso dell'immagine resta invariato!
    in questo modo se voglio fare l'anteprima di un immagine da 1MB se uso lo script PHP l'immagine creata ha dimensioni minori ed e piu veloce da caricare,mentre con l'html e come se scaricasse l'immagine ingrandita...

  6. #6
    Guest

    Predefinito

    io usavo questa.... vedi se ti puoi adattarla...
    Codice PHP:
    // PARAMETRI DI CONFIGURAZIONE
    define("LARGHEZZA",$larghezza);
    define("ALTEZZA",$altezza);
    define("PROPORZIONI",$proporzioni);
    define("QUALITA",$qualità);

    function
    ridimensiona($immagine) {
    $header=array(1=>"gif",2=>"jpeg",3=>"png");
    // RIDIMENSIONAMENTO DELLA FOTO
    $dimensioni=getimagesize($immagine);
    if (
    $dimensioni[2] == 1)
    $img=imagecreatefromgif($immagine);
    if (
    $dimensioni[2] == 2)
    $img=imagecreatefromjpeg($immagine);
    elseif (
    $dimensioni[2] == 3)
    $img=imagecreatefrompng($immagine);
    $altezza=(PROPORZIONI) ? ceil($dimensioni[1]/$dimensioni[0]*LARGHEZZA) : ALTEZZA;
    $im=Imagecreatetruecolor(LARGHEZZA, $altezza);
    imagecopyresampled($im,$img,0,0, 0,0, LARGHEZZA,$altezza, $dimensioni[0],$dimensioni[1]);
    header("content-type: image/".$header[$dimensioni[2]]);
    imagejpeg($im,"",QUALITA);
    imagedestroy($im);
    }
    $link = $configurazione['root_forum'].$_GET['immagine'];
    $immagine=isset($link) ? $link : "";
    if(
    file_exists($immagine))
    ridimensiona($immagine);
    else
    echo
    "$immagine $link NON ESISTE!";

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da Dharlet
    hhm ops.... quindi in poche parole in quello script,c'e solo un immagine che varia a seconda delle richieste,potrebbe andare bene cosi... ma cosa succede se due utenti cercano di visualizzare due immagini diverse nello stesso momento? funziona correttamente oppure genera qualche errore?
    Funziona correttamente.
    Poi, solo ora, ho visto che lo script non salva nessuna immagine su disco, quindi il problema non si pone proprio.


    Ciao!

  8. #8
    Guest

    Predefinito

    veramente io ho usato la mia funzione ed ha creato un immagine con il nome da me scelto... ed e tutt'ora li nella directory principale del mio sito!

  9. #9
    Guest

    Predefinito

    Ops, scusa stavo leggendo l'altro script postato da calciostreet!


    Ciaooo!!

  10. #10
    Guest

    Predefinito

    Raga una domanda... non vorrei aprire un altra discussione,quindi chiedo qui:

    sempre relativo alla creazione di anteprima,supponiamo che io voglio far vedere un immagine ridimensionata al browser utilizzando php,riducendo anche la qualita,ma senza modificare il file originale,o creare nuovi file,e possibile? ancora non ho capito come.... grazie :) (sono un po fastidioso ma appena imparo non scoccio piu )

  11. #11
    Guest

    Predefinito

    usa il codice postato da me usa le librerie GD per fare ciò che ti serve...

  12. #12
    Guest

    Predefinito

    ci ho provato,ma una volta messo il codice nella pagina (ho tentato di sostituirlo ad un semplice tag <img>) la pagina intera mi restituisce solo una scritta con il percorso della pagina corrente,tutto il resto svanisce e dell'immagine non c'e traccia...
    qual'e esattamente la parte che restituisce l'immagine? intendo di tutta quella parte immagino che solo un pezzo serva a visualizzarla

  13. #13
    Guest

    Predefinito

    all'indirizzo quando richiami l'img devi aggiungere ?immagine=percorso immagine

    esempio miostio.com/file.php?immagine=img1.gif

    e imposta la variabile $link
    $link = "http://www.sito.altervista.org/".$_GET['immagine'];

  14. #14
    Guest

    Predefinito

    Fatto ma ora invece che non dare nulla fuori,mi da la pagina normale,ma al posto dell'immagine mi esce scritto che l'immagine non esiste,anche se andandoci manualmente funziona!ho notato che lo script legge i formati jpeg,gif e png,ma l'immagine che sto usando è .jpg ,fa qualche differenza da .jpeg?

    EDIT: ho provato lo script separatamente,e lo script funziona alla perfezione.
    l'unico problema e che incontro molti problemi quando cerco di implementarlo in una pagina,mi e praticamente impossibile,non riesco a far in modo che l'immagine venga visualizzata
    Ultima modifica di Dharlet : 23-05-2007 alle ore 21.49.58

  15. #15
    Guest

    Predefinito

    mi posti il link della pagina ch fa il richiamo e di quella che elabora l'immagine

  16. #16
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Non si può scrivere il percorso in questo modo:
    Citazione Originalmente inviato da calciostreet
    e imposta la variabile $link
    $link = "http://www.sito.altervista.org/".$_GET['immagine'];
    Perché verrebbe considerata come un'immagine esterna ad AlterVista.

    Quindi modifica quella riga in questo modo se l'immagine si trova nella stessa cartella dello script:
    Codice PHP:
    $link=$_GET['immagine'];
    Citazione Originalmente inviato da Dharlet
    ho notato che lo script legge i formati jpeg,gif e png,ma l'immagine che sto usando è .jpg ,fa qualche differenza da .jpeg?
    E' la stessa cosa.
    Ultima modifica di funcool : 24-05-2007 alle ore 09.54.42
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  17. #17
    Guest

    Predefinito

    allora... seguendo lo script la mia pagina di "prova" per testare che tutte le cose funzionino bene e cosi:
    Codice PHP:
    <?php

    // PARAMETRI DI CONFIGURAZIONE
    define("LARGHEZZA",100);
    define("ALTEZZA",100);
    define("PROPORZIONI",1);
    define("QUALITA",50);

    function
    ridimensiona($immagine) {
    $header=array(1=>"gif",2=>"jpeg",3=>"png");
    // RIDIMENSIONAMENTO DELLA FOTO
    $dimensioni=getimagesize($immagine);
    if (
    $dimensioni[2] == 1)
    $img=imagecreatefromgif($immagine);
    if (
    $dimensioni[2] == 2)
    $img=imagecreatefromjpeg($immagine);
    elseif (
    $dimensioni[2] == 3)
    $img=imagecreatefrompng($immagine);
    $altezza=(PROPORZIONI) ? ceil($dimensioni[1]/$dimensioni[0]*LARGHEZZA) : ALTEZZA;
    $im=Imagecreatetruecolor(LARGHEZZA, $altezza);
    imagecopyresampled($im,$img,0,0, 0,0, LARGHEZZA,$altezza, $dimensioni[0],$dimensioni[1]);
    header("content-type: image/".$header[$dimensioni[2]]);
    imagejpeg($im,"",QUALITA);
    imagedestroy($im);
    }

    $link = 'provephp/img/avatar.jpg';
    $immagine=isset($link) ? $link : "";
    if(
    file_exists($immagine)) {

    ridimensiona($immagine);
    }
    else
    echo
    "$immagine $link NON ESISTE!";



    ?>
    Ora veniamo ai problemi,la pagina in se funziona,infatti si vede l'immagine ridimensionata,e fin qua tutto fila liscio,ma io voglio che venga visualizzata dentro una pagina html in una determinata posizione,dentro Un div con un certo margine,e con un bordo,normalmente facevo tutto facilmente,ma con un immagine non salvata non so come comportarmi
    ho provato in tutti i modi,ma se inserisco parti di html dentro la pagina mi dice che l'immagine non esiste,oppure invece di vedersi l'immagine,mi esce scirtto il percorso dell'immagine non ridimensionata,come devo fare per mettere l'immagine in questione in un punto del codice html?
    Ultima modifica di Dharlet : 24-05-2007 alle ore 14.35.48

  18. #18
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    La devi includere come se fosse un'immagine:
    Codice HTML:
    <img src="script.php" />
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  19. #19
    Guest

    Predefinito

    Ah ecco era proprio quello che non sapevo! Grazie mille sembra funzionare... vi aggiorno appena ho finito :D

Regole di scrittura

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