mmmm... en realiadad el código que se encarga de redimencionar es una función.. no puedes poner un if dentro de la función y cerrarlo fuera de ésta
![apachar ojo](http://static.forosdelweb.com/fdwtheme/images/smilies/wink.png)
... pero por ahí va...
Veamos.. igual sin probar:
Código PHP:
<?php
function redimencionar($file) {
// Función que REEMPLAZA una imágen JPEG por otra con diferenetes dimenciones...
// Se da por echo la imágen existe y es una imágen JPEG (no se hacen validaciones)
$imagen = ImageCreateFromJPEG($file);
unlink($file); // BORRAMOS el archivo original
$width = imagesx($imagen);
$height = imagesy($imagen);
if($width>=640) { // condición de "si es menor"
if($height>=800) { // condición de si "altura es mayor ó igual a 800
$nueva_altura= 640;
$nueva_anchura= ($nueva_altura*$width)/$height;
} else { // sino...
$nueva_anchura = 200; // Define aquí el ancho requerdo
$nueva_altura = ($nueva_anchura * $height) / $width ;// Para un alto proporcinal (RECOMENDADO) ó ingresa directamente el alto requerido.
} // fin de condición de las alturas
if (function_exists("imagecreatetruecolor")) {
$calidad = ImageCreateTrueColor($nueva_anchura, $nueva_altura);
} else $calidad = ImageCreate($nueva_anchura, $nueva_altura);
ImageCopyResized($calidad, $imagen, 0, 0, 0, 0, $nueva_anchura, $nueva_altura, $width, $height);
ImageJPEG($calidad, $file, 100);
imagedestroy($imagen);
return true;
} else {// cierre de condicón "si es menor"
imagedestroy($imagen); // igual destuimos la imágen y regresamos un false que nos indicará el error
return false;
}
// Forma de uso:
// redimencionar(/ruta/archivo.jpg)
}
// Suponiendo se tiene <input type="file" name="imagen">
if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){
$nombre= "imagenes/".$_FILES['imagen']['name']; // Conserva su nombre original, se guarda en una carpeta imagenes
if(move_uploaded_file($_FILES['imagen']['tmp_name'], $nombre)) {
if(redimencionar($nombre)) {// una vez definido el nombre del archivo no importa dónde se llame a la función
echo "<img src=\"$nombre\">";
} else echo "La imágen es de dimenciones menor a lo permitido<br>";
} else echo "<b>ERROR:</b><br> No se pudo mover el archivo<br>";
} else echo "<b>Tipo de archívo inválido</b><br>";
} else echo "Error al subir el archivo....<br>";
?>
... no es complicado, es cuestión de pensarle e intentarlo... mejor
pellagofio lo intentó...
www.php.net/if www.php.net/function