Estoy tratando de crear la imagen pero obtengo errores:
me pueden ayudar???
Código PHP:
function findexts ($filename)
{
$filename = strtolower($filename);
$exts = preg_split("[/]", $filename);
$n = count($exts)-1;
$exts = $exts[$n];
return $exts;
}
function crearimagen($id,$ancho,$alto,$nombre)
{
$archivo = $_FILES["pro_imgprinc"]["tmp_name"]; // Nombre y ruta del archivo subido a los temporales del servidor
$nombreOriginal = $_FILES["pro_imgprinc"]["name"]; // Nombre del archivo en el PC del usuario
$tamaioOrigen = $_FILES["pro_imgprinc"]["size"]; // Tamaño de la imagen original
$opcion = 2; // opcion para resamplear la imagen
$calidad = 100; // Calidad Final de la Imagen
$dir_Destino= '../imagenes/productos/';
$dir_Destino.= $nombre;
$dir_Destino.= '/';
$ext = findexts ($_FILES['pro_imgprinc']['type']);
$imagen.=$id;
$imagen.="_";
$imagen.=$nombre;
$imagen.=".";
$imagen.=$ext;
$nombreDestino.= $dir_Destino;
$nombreDestino.= $imagen;
$tamano=getimagesize( $_FILES["pro_imgprinc"]["tmp_name"]);
$ancho_orig=$tamano[0];
$alto_orig=$tamano[1];
if ($ancho_orig>$alto_orig)
{
$anchoDestino=$ancho;
$altoDestino=($anchoDestino/$ancho_orig)*$alto_orig;
}
else if($ancho_orig<$alto_orig)
{
$altoDestino=$alto;
$anchoDestino=($alto_dest/$alto_orig)*$ancho_orig;
}
else if ($ancho_orig==$alto_orig)
{
$tamano=($ancho/$alto_orig)*$ancho_orig;
$altoDestino=$tamano;
$anchoDestino=$tamano;
}
require_once 'Imagen.php';
// Pasamos datos con los metodos set en vez de tipo JSON
$obj_img = new Imagen();
$obj_img ->set("imagenOrigen" , str_replace("\\","/",$archivo)); // Usamos el str_replace para mayor compatibilidad con distintos servidores
$obj_img ->set("imagenDestino" , $nombreDestino);
$obj_img ->set("anchoDestino" , $anchoDestino);
$obj_img ->set("altoDestino" , $altoDestino);
$obj_img ->set("recorte" , array('filas' => 3, 'columnas' => 3, 'centrado' => 4));
$obj_img ->set("calidadImagen" , $calidad);
$obj_img ->set("generarArchivo" , true); // true genera un archivo en el servidor False la envia para descargar en este caso no se puede enviar nada al servidor).
$obj_img ->set("modo" , $opcion);
$obj_img ->set('archivoTmp' , true); // Si vamos a editarlo directamente de los temporales debemos indicarle que es temporal
$obj_img ->set('borrarOrigen' , true); // Se utiliza para borrar la imagen original del servidor. Si lo hacemos desde el temporal se puede dejar sin establecer.
$obj_img ->procesarImagen();
}
if(!empty($_FILES['pro_imgprinc']) && $_FILES['pro_imgprinc']['error'] == UPLOAD_ERR_OK)
{
//Creo las 3 Copias de Imagenes que Necesito:
crearimagen($proid,310,256,'grande');
crearimagen($proid,206,170,'normal');
crearimagen($proid,155,128,'mediana');
}
el Error es:
Warning: getimagesize(C:\Windows\Temp\phpEE31.tmp) [function.getimagesize]: failed to open stream: No such file or directory in C:\AppServ\www\adm\panel_admin_productos_nuevo.php on line 64
y segun leo en este foro el GETSIZE lo estoy haciendo bien... entonces que pasa :S