Hola, nose si te servirá, pero cuando guardo una noticia, yo uso este script que redimensiona la imagen dentro de unas medidas que le pueden modificar y también crea un thumb. Después sube los archivos a un directorio del dominio y guarda las rutas en la BD:
Código PHP:
//Subimos la imagen...
if (($HayErrorFoto == false) && ($_FILES['userfile']['name'] != '')){
if (!(strpos($_FILES['userfile']['type'], "gif") || strpos($_FILES['userfile']['type'], "jpeg") || strpos($_FILES['userfile']['type'], "png"))) {
$errorImagen = "Sólo se permiten archivos .gif, .jpg o .png";
$HayErrorFoto = true;
}elseif($_FILES['userfile']['size'] > 4096000){
$errorImagen = "Tamaño máximo 4Mb.";
$HayErrorFoto = true;
}else{
$archivoimagen = $act->AhoraTexto()."_".$_FILES['userfile']['name'];
if (!(move_uploaded_file($_FILES['userfile']['tmp_name'], $directorio.$archivoimagen))){
$errorImagen = "No se pudo subir la foto";
$HayErrorFoto = true;
}else{
//Según el tipo...
if (strpos($_FILES['userfile']['type'], "gif")){
$fuente = @imagecreatefromgif($directorio.$archivoimagen);
}elseif (strpos($_FILES['userfile']['type'], "jpeg")){
$fuente = @imagecreatefromjpeg($directorio.$archivoimagen);
}elseif (strpos($_FILES['userfile']['type'], "png")){
$fuente = @imagecreatefrompng($directorio.$archivoimagen);
}
if($fuente){
$xx = imagesx($fuente);
$yy = imagesy($fuente);
if($xx >= $yy){
if($xx > 600){ $x1 = 600; $y1 = 600*$yy/$xx; }
else{ $x1 = $xx; $y1 = $yy; }
if($xx > 110){ $x2 = 110; $y2 = 110*$yy/$xx; }
else{ $x2 = $xx; $y2 = $yy; }
}elseif($xx < $yy){
if($yy > 600){ $x1 = 600*$xx/$yy; $y1 = 600; }
else{ $x1 = $xx; $y1 = $yy; }
if($yy > 110){ $x2 = 110*$xx/$yy; $y2 = 110; }
else{ $x2 = $xx; $y2 = $yy; }
}
$imagen = imagecreatetruecolor($x1,$y1);
imagecopyresized($imagen,$fuente,0,0,0,0,$x1,$y1,$xx,$yy);
//Según el tipo...
if (strpos($_FILES['userfile']['type'], "gif")){
imagegif($imagen,$directorio.$archivoimagen);
}elseif (strpos($_FILES['userfile']['type'], "jpeg")){
imagejpeg($imagen,$directorio.$archivoimagen,100);
}elseif (strpos($_FILES['userfile']['type'], "png")){
imagepng($imagen,$directorio.$archivoimagen);
}
//Hacemos el Thumb...
$imagen = imagecreatetruecolor($x2,$y2);
imagecopyresized($imagen,$fuente,0,0,0,0,$x2,$y2,$xx,$yy);
//Según el tipo...
if (strpos($_FILES['userfile']['type'], "gif")){
imagegif($imagen,$directorio."mini_".$archivoimagen);
}elseif (strpos($_FILES['userfile']['type'], "jpeg")){
imagejpeg($imagen,$directorio."mini_".$archivoimagen);
}elseif (strpos($_FILES['userfile']['type'], "png")){
imagepng($imagen,$directorio."mini_".$archivoimagen);
}
}else{
$errorImagen = "No se ha podido redimensionar la imagen.";
$HayErrorFoto = true;
}
if($HayErrorFoto == false){
$act->CodigoAlbum = $_REQUEST["Codigo"];
$act->Foto = "http://www.forosdelweb.com/images/noticias/".$archivoimagen;
$act->FotoMini = "http://www.forosdelweb.com/images/noticias/mini_".$archivoimagen;
$GuardadoFoto = true;
}
}
}
}
Espero haberte ayudado
Saludos