Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/12/2008, 07:00
ddanime
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 17 años
Puntos: 0
Respuesta: subida de imagenes

function redimensionar($type, $img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{
$defecto = 'img/defecto.jpg';
if(file_exists($img_original)) {
// crear imagen desde original
$type=strtolower($type);
switch($type)
{
case 'jpeg': $img = ImageCreateFromJPEG($img_original); break;
case 'jpg': $img = ImageCreateFromJPEG($img_original); break;
case 'png': $img = ImageCreateFromPNG($img_original); breaK;
case 'gif': $img = ImageCreateFromGIF($img_original); breaK;
case 'wbmp': $img = ImageCreateFromWBMP($img_original); break;
default: $img = ImageCreateFromJPEG($defecto); break;
}
} else {
$img = ImageCreateFromJPEG($defecto);
}
if(!empty($img)) {
$new_w_R = ImageSX($img);
$new_h_R = ImageSY($img);
//$img_nueva_altura = 50;
// se calcula la relación alto/ancho
$aspect_ratio = $new_h_R/$new_w_R;
$aspect_ratio2 = $new_w_R/$new_h_R;

// se ajusta al nuevo tamaño
$img_nueva_altura = abs($img_nueva_anchura * $aspect_ratio);

// crear imagen nueva

$thumb = ImageCreateTrueColor($img_nueva_anchura,$img_nueva _altura);
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_ anchura,
$img_nueva_altura,ImageSX($img),ImageSY($img));
// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
}
function redimensionar2($type, $img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{
$defecto = 'img/defecto.jpg';
if(file_exists($img_original)) {
// crear imagen desde original
$type=strtolower($type);
switch($type)
{
case 'jpeg': $img = ImageCreateFromJPEG($img_original); break;
case 'jpg': $img = ImageCreateFromJPEG($img_original); break;
case 'png': $img = ImageCreateFromPNG($img_original); breaK;
case 'gif': $img = ImageCreateFromGIF($img_original); breaK;
case 'wbmp': $img = ImageCreateFromWBMP($img_original); break;
default: $img = ImageCreateFromJPEG($defecto); break;
}
} else {
$img = ImageCreateFromJPEG($defecto);
}
if(!empty($img)) {
$new_w_R = ImageSX($img);
$new_h_R = ImageSY($img);
//$img_nueva_altura = 50;
// se calcula la relación alto/ancho
$aspect_ratio = $new_h_R/$new_w_R;
$aspect_ratio2 = $new_w_R/$new_h_R;

// se ajusta al nuevo tamaño
$img_nueva_altura = $new_h_R;
$img_nueva_anchura = $new_w_R;

// crear imagen nueva

$thumb = ImageCreateTrueColor($img_nueva_anchura,$img_nueva _altura);
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_ anchura,
$img_nueva_altura,ImageSX($img),ImageSY($img));
// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
}
$archivo = $_FILES["imagenes"];
$count = count($archivo);
for($i=0;$i<$count;$i++){
//inseción de imagen
//$fileName = $max."_".$_FILES['userfile']['name'];
$extension = explode("/",$_FILES['imagenes']['type'][$i]);
//$fileName = $extension[0].".".$extension[1];
$fileName = $referencia.".".$extension[1];

$tmpName = $_FILES['imagenes']['tmp_name'][$i];
$fileSize = $_FILES['imagenes']['size'][$i];
$fileType = $_FILES['imagenes']['type'][$i];
//echo $tmpName;
$uploaddir = "/var/www/vhosts/ddanime.org/httpdocs/raw/img/";
$uploadfile = $uploaddir . $fileName ;
$uploaddirbd = "/raw/img/";

if (move_uploaded_file($tmpName, $uploadfile)) {
chmod($uploadfile, 0644);
//echo "File is valid, and was successfully uploaded.\n";
//redimensionar
$source=$uploadfile; // archivo de origen
$query_img=mysql_query("select * from imagenes_raw order by id_img desc");
$array_img_=mysql_fetch_array($query_img);
$id_img_dos=$array_img_[id_img]+1;
$dest=$uploaddir.$referencia."th_".$id_raw."_".tex t2url($v_titulo)."_".$i."_".$id_img_dos.".".$exten sion[1]; // archivo de destino
$dest2=$uploaddir.$referencia.$id_raw."_".text2url ($v_titulo)."_".$i."_".$id_img_dos.".".$extension[1]; // archivo de destino
$dir_img=$uploaddirbd.$referencia."th_".$id_raw."_ ".text2url($v_titulo)."_".$i."_".$id_img_dos.".".$ extension[1];
// Ejemplo

redimensionar($extension[1],$source,$dest,150,85,95);
redimensionar2($extension[1],$source,$dest2,$new_w_R,$new_h_R,95);
//finredimensionar

mysql_query("insert into ....);
} else {
// echo "Possible file upload attack!\n";
//echo 'Here is some more debugging info:';
//print_r($_FILES);
}

ahi tienes el codigo