Yo uso el siguiente script, haber si te sirve de algo pues va muy bien:
Primero envio la imagen con "input type=file..." y la paso aqui:
Código PHP:
//Empezamos la primera imagen
if($_FILES['imagen1']['name']!=""){
//Dirección donde voy a subir
$folder="../imagenes/";
//
$archivo = $_FILES['imagen1'];
$archivo_name=$_FILES['imagen1']['name'];
$archivo_size=$_FILES['imagen1']['size'];
$archivo_type=$_FILES['imagen1']['type'];
$archivo_tmp=$_FILES['imagen1']['tmp_name'];
//esto lo hago porque asi saco el nombre tal cual, sin extensiones
$long=strlen($archivo_name);
$archivo_name=substr($archivo_name, 0, $long-4);
//Debemos poner el nombre del fichero y su nombre, de lo contrario no funciona
move_uploaded_file($archivo_tmp, $folder.$archivo_name."_ini.jpg") or die("problemas uploading imagen");
//mediana
copyimag($archivo_name,"medium",$folder,"300");
//pequeña
copyimag($archivo_name,"small",$folder,"47");
//borramos la imagen original
if (isset($archivo_name))
unlink("../imagenes/".$archivo_name."_ini.jpg");
}
y de este lo envio aqui:
Código PHP:
//funcion para copiar y minimizar foto
function copyimag($id,$prefijo,$ruta,$size){
//list toma los valores del array generado por getimage
list($width, $height, $value, $params) = GetImageSize($ruta.$id."_ini.jpg");
//creo foto reducida
if($size<$height){
$new_width = intval(($size*$width)/$height);
$new_height = $size;
//limito si acho a 150 de alto es mayor a 200
if($new_width>200&&$size==150){
$new_width = 200;
}
//echo "new_w=".$new_width;
//echo "new_h=".$new_height;
//codigo para crear la nueva imagen
$newImage = imagecreatetruecolor($new_width, $new_height);
$cpyImage = imagecreatefromjpeg($ruta.$id."_ini.jpg");
imagecopyresized($newImage, $cpyImage, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($newImage,$ruta.$id."_".$prefijo.".jpg");
}else{
copy($ruta.$id."_ini.jpg",$ruta.$id."_".$prefijo.".jpg");
}
}
que te genera tres imagenes: samll, medium, big y te las guarda en una carpeta para poder trabajar con ellas.
La verdad es que va muy bien, me lo paso un compañero de trabajo y es estupendo.