Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema thumbnails

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    8

    problema thumbnails

    Ciao, avrei un problema con la generazione di alcuni thumbnails tramite librerie GD.
    Su aruba lo script mi funziona, mentre su un altro server no.
    Potreste aiutarmi a capire cosa possa dipendere? Se devo far attivare qualcosa?
    Nel file phpinfo mi dice che le GD sono attivate, io purtroppo non me ne intendo molto... :\
    Grazie per l'attenzione

    qui funziona: http://www.pixelwinter.com/diamonds/index.php
    qui no: http://www.diamondsinternationalfilm.com/index.php
    qua c'è un file phpinfo: http://www.diamondsinternationalfilm.com/php.php

    Il codice è questo:

    <?

    function resize_image($immagine){
    $ext = substr($immagine, strrpos($immagine, ".")+1);
    if ( $ext == "gif" ) $orig = imagecreatefromgif($immagine);
    if ( $ext == "GIF" ) $orig = imagecreatefromgif($immagine);
    else if ( $ext == "jpg" ) $orig = imagecreatefromjpeg($immagine);
    else if ( $ext == "JPG" ) $orig = imagecreatefromjpeg($immagine);
    else if ( $ext == "jpeg" ) $orig = imagecreatefromjpeg($immagine);
    else if ( $ext == "JPEG" ) $orig = imagecreatefromjpeg($immagine);
    else if ( $ext == "png" ) $orig = imagecreatefrompng($immagine);
    else if ( $ext == "PNG" ) $orig = imagecreatefrompng($immagine);
    else $orig = false;
    $orig_x = imagesx($orig); // larghezza
    $orig_y = imagesy($orig); // altezza
    // 100x80 max
    $rapporto_ottimale = floor((4/5)*$orig_x);
    if ( $orig_y > $rapporto_ottimale ){ // è una foto verticale
    $y = 90;
    $x = floor(($y*$orig_x)/$orig_y);
    }
    else { // è una foto orizzontale
    $x = 90;
    $y = floor(($x*$orig_y)/$orig_x);
    }
    $img = imagecreatetruecolor($x, $y);
    imagecopyresampled($img, $orig, 0, 0, 0, 0, $x, $y, $orig_x, $orig_y);
    header("Content-type: image/PNG");
    imagePNG($img, '', 100);
    imagedestroy($img);
    }

    if ( isset($_GET['n']) ){
    resize_image($_GET['n']);
    }

    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    8
    L'unico indizio che ho è che dove funziona c'è php4, mentre dove non funziona php5.

    Penso che cambi qualcosa tra le due versioni, qualcuno saprebbe, vedendo lo script, cosa dovrei cambiare?

  3. #3
    Non usare lo short tag in apertura, usa
    codice:
    <?php
    Se non risolvi così, abilita la visualizzazione degli errori

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    8
    Grazie per la risposta
    Ho cambiato l'apertura ma niente.
    Per quanto riguarda la visualizzazione degli errori, scusami ma non so come fare, devo farlo tramite server? Se sì, non mi è possibile. Ho aggiunto l'ALT al tag img per quanto possa essere utile...

  5. #5
    inserisci, subito dopo il tag di apertura, questo codice

    Codice PHP:
    error_reporting(E_ALL);
    ini_set('display_errors'1); 

  6. #6
    Comunque giusto per precisione, perchè usi sempre imagepng() se ammetti anche altri tipi di immagini?
    Tra l'altro il terzo parametro passato a imagepng() non può essere 100, deve essere un intero compreso tra 0 (nessuna compressione) e 9 (compressione massima)

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    8
    Grazie!
    Mettendo 9 funziona.
    Riguardo la questione imagePNG() non so che dirti, io non sono programmatore (assemblo e come programmazione sto terra terra), pensi che sia il caso di mettere anche le altre funzioni? che poi cosa sono imageJPEG(), imageGIF()?

    Ne esiste una per le bmp anche in entrata?


    Comunque, grazie davvero, già così mi hai proprio salvato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.