Gestione Immagini

Stavo smanettando sulla citata funzione di creazione thumbs, e volevo chiedere una cosa che mi attanaglia.
La funzione imagecreatefromjpeg funziona anche con il formato IMAGE/pjpeg?
Come mai quando carico tramite upload una immagine jpg me la riconosce come pjpeg e non semplicemente come jpeg?

Luca
 
Sempre sull'argomento mi servirebbe, partendo dal codice di realizzazione delle thumbs che quì riporto per comodità
PHP:
<?php
function makeThumb($dir,$pic,$n,$t){
  @list($width, $height, $type, $attr) = @getimagesize($pic);
  $max_w = 100;
  $max_h = 100;
  $ratio = @min($max_w/$width,$max_h/$height);
  //metto nella variabile $ratio il valore minimo tra questi due valori: massima_larghezza/larghezza_immagine e massima_altezza/altezza

  // Verifico che l'immagine originale abbia almeno una dimensione  più grande delle dimensioni massime impostate (es 100x100pxl)
  if ($ratio < 1){
    // Individuo le nuove dimensioni da assegnare all'immagine ridimensionata sulla base del valore $ratio, poi approssimato tramite la funzione floor
    $w = @floor($ratio*$width);
    $h = @floor($ratio*$height);

    // creo una nuova immagine con le dimensioni appena calcolate
    $thumb = @imagecreatetruecolor($w,$h);
    if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);}
    elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);}
    elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);}

    // ridimensiono l'originale e salvo nella cartella di destinazione
    @imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$width,$height);
    if ($t == 'image/jpeg'){@imagejpeg($thumb,"$dir/tb_".$n, 75);}
    elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n, 75);}
    elseif ($t == 'image/png'){@imagepng($thumb,"$dir/tb_".$n, 75);}
  }
}
capire come apportare alcune modifiche.
In particolare vorrei utilizzare come parametri il file immagine appena uploadato, ovvero $file_temp, oppure direttamente $_FILES['imagefile']['tmp_name'] e unico ulteriore parametro il $type che altro non è che addslashes($_FILES['imagefile']['type']).
Però anzichè terminare salvando come nuova immagine, mi basta che restituisca la variabile $thumb che è già contenente l'immagine ridimensionata e che successivamente io trasferirò nel db.

Potete aiutarmi? (ancora s'intende)
 
Ho fatto alcune verifiche e sono ormai giunto all'ostacolo nel ridimensionamento.

Ho appurato che le immagini caricate attraverso il form possono essere salvate direttamente in una variabile e poi trasferite tramite il comando INSERT TO ad una tabella MySQL.
Il problema avviene nel momento in cui passo alla manipolazione con GD, se cerco di visionarle dopo "imagetruecolor, imagecreate..., imagecopyresized" mi appaiono come sfilze di dati binari.
Mi è chiaro come salvarle in un file entro una cartella specifica, ma non come metterle in una variabile da inserire in tabella bd.
Attendo vostre delucidazioni con ansia.
 

Discussioni simili