Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636

    estensione gd e caricamento immagini

    salve a tutti,

    ho da poco scoperto l'esistenza di tali librerire, utilissime per la creazione di thumb, e l'inserimento di watermark sulle immagini, tutto mi è sembrato molto semplice e con le prove in locale non ho avuto alcun problema. tuttavia provandole su hosting ilbello ho riscontrato qualche problema e cioè caricando alcune immagini spunta un elenco di errori piuttosto esteso. sottolineo alcune perchè con immagini molto piccole non mi da nessun errore, l'unica idea che mi è venuta in mente è stata aumentare il tempo con

    Codice PHP:
     ini_set(max_execution_time0); 
    ho messo 0 che significa infinito solo per provare, ma anche con 100 o giù di li ho lo stesso problema e cioè con immagini molto piccole nessun problema con immagini di 500kb o più ci sono problemi. la cosa non dipende dalle dimensioni massime degli upload dato che il semplice upload sulle stesse immagini non da alcun problema.

    Il problema non credo dipenda nemmeno dal fatto che l'estensione gd sia installata o meno dato che se non fosse installata non funzionerebbe con nessuna immagine. tuttavia non sapendo che pesci prendere vi posto il risultato di

    Codice PHP:
    var_dump(gd_info()); 
    array(12) { ["GD Version"]=> string(27) "bundled (2.0.34 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(false) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XPM Support"]=> bool(false) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }

    trovate forse qualcosa di strano che potrebbe portare al malfunzionamento?

  2. #2
    Che ne dici di iniziare postando l'elenco di errori piuttosto esteso?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    non volevo elencare gli errori perchè questo avrebbe richiesto al mio salvatore un lavoro extra, tuttavia immagino che non vi sia altra soluzione che questo...

    per cominciare mi interfaccio all'estensione gd con una libreria img.class.php, per evitare di rendere mastodontico il messaggio vi do un link che mostra lo script

    script img.class.php

    ripeto, non penso di sbagliare nulla nell'utilizzo dello stesso dato che in locale non ho nessun problema

    a seguire il famoso 'elenco di errori piuttosto esteso'




    Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 624 extraneous bytes before marker 0xd9

    Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '../foto/20091212120731/20091212120731_0.jpg' is not a valid JPEG file

    Warning: imagesx(): supplied argument is not a valid Image resource

    Warning: imagesy(): supplied argument is not a valid Image resource

    Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions

    Warning: imagecopyresized(): supplied argument is not a valid Image resource

    Warning: imagecopyresized(): supplied argument is not a valid Image resource

    Warning: imagecopymerge(): supplied argument is not a valid Image resource

    Warning: imagejpeg(): supplied argument is not a valid Image resource




    tutte queste funzioni che danno errore si trovano nel file img.class.php
    ... ripeto di questi errori in locale e con le stesse immagini non ne vedo nemmeno l'ombra

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    forse mi sono spiegato male

    prendo l'immagine 1.jpg

    -faccio la prova in locale viene caricata, viene messo il watermark e non ho nessun problema

    -faccio la prova su ilbello se 1.jpg è piccola va tutto liscio, se l'immagine è un pò più pesante mi da quegli errori

    per pesante non intendo immagini di dimesioni bestiali per capirci anche le immagini 1024x768 che si trovano nella cartella immagini di windows danno errori e non raggiungono i 900kB, poi altra cosa che ripeto se mi limito a farne l'upload senza applicare il watermark non mi danno nessun errore, quindi non dipende dalla dimensione massima dei file uploadabili

    se faccio il var dump in locale circa le info di GD ottengo la seguente

    array(12) { ["GD Version"]=> string(27) "bundled (2.0.34 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(true) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XPM Support"]=> bool(false) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }

  6. #6
    Posta un esempio di codice (upload e GD) che utilizzi e che genera l'errore indicato.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    ho fatto un esempio di codice che in locale al solito funziona mentre online no scusate l'indentazione

    l'esempio consta di 2 pagine

    inserimento.php

    Codice PHP:
    <html>     
    <
    head></head>     
    <
    body>         
    <
    form action='caricamento.php' method='post' enctype="multipart/form-data" accept="image/jpg, image/pjpg, image/jpeg, image/pjpeg">
                 <
    input type='file' name='f1' />             
                 <
    input type='submit' />         
    </
    form>         


    [
    url='galleria.php']visualizza immagini inserite[/url]</p>     
    </
    body
    </
    html
    caricamento.php

    Codice PHP:
    <html>     
    <head></head>     
    <body> 
    <?php     
    require("gestione/img.class.php");    
     
    $i0;     
    while(
    is_file("immagini/$i.jpg")) $i++;     
    foreach(
    $_FILES as $files){         
    if(
    $files['size'] == 0) continue;         
    if(!(@
    is_uploaded_file($files['tmp_name']))) { echo "problemi con is_uploaded_file"; return; }        
     else {            
     
    $destinazione "immagini/$i.jpg";             
    if(!(@
    move_uploaded_file($files['tmp_name'], $destinazione))) {echo "problemi con move_uploaded_file"; return; }            
     else {                
     
    $img = new img;                
     
    $img->saveBIG 1;                 
    $img->saveTHUMB 0;                 
    $img->AddLogo($destinazione"immagini/watermark.png");                 unlink($destinazione);                 
    list(
    $p1) = explode(".jpg"$destinazione);                 
    rename($p1."_big.jpg"$destinazione);             
    }        
     }         
    $i++;     

    ?>     
    <div>operazione andata a buon fine</div>


    [url='galleria.php']visualizza immagini inserite[/url] | [url='inserimento.php']inserisci altre immagini[/url]</p>     
    </body>
     </html>

    ----
    rettifico

    facendo altre prove ogni tanto a parità di immagini funziona, a questo punto penso sia colpa del servizio di hosting, spero solo che quando trasferirò il lavoro su un hosting a pagamento il problema si risolva

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.