A pedido de mi hermano he desarrolado este código que sirvepara hacer upload de imágenes con las siguientes particularidades.

Controla que el archivo sea JPG

Controla que el ancho no sea superior a 100px y si es superior lo achica

El ancho máximo es configurable

Almacena en el servidor el archivo original o el nuevo

La carpeta donde se almacena es confgurable

Todo el código está comentado para que puedan hacer lo que las adaptaciones que necesiten. Especificamente lo que hago es almacenar el resultado de la operacion en la variable $mostrar, para asi poder mostrar la imagen subida, pero se puede modificar que que haga lo que se desee.

Este es el código que trabaja con las funciones

<?php
// controlo que el el formulario haya sido cargado y ejecuto mi script
if (isset($_POST["Subir"])) {
$img = $_FILES['imagen']['name']; // almaceno el nombre del archivo subido 
$img2 = nueva.$img; //nombre de la nueva imagen achicada
$tipo = $_FILES['imagen']['type'];  // almaceno el tipo de archivo
$dir = './'; // selecciono la carpta donde almaceno las imagenes
$anchomax = 100;
//aca controlo que el archivo subido sea JPG
if ($tipo == "image/jpeg") {
// es JPG entonces abtengo el tamaño en pixel de la imagen subida
$tamanos = getimagesize($imagen);
$ancho = $tamanos[0];
$alto =  $tamanos[1];
// controlo que no mida de ancho mas que  el limite
if ($ancho > $anchomax) {
 
$nuevoalto = round($anchomax / $ancho * $alto); //calculo el nuevo alto
$imagenoriginal = imagecreatefromjpeg($imagen); //tomo la imagen original
$imagennueva = imagecreatetruecolor($anchomax,$nuevoalto); // creo el lienzo de la imagen nueva
imagecopyresampled($imagennueva, $imagenoriginal, 0, 0, 0, 0, $anchomax, $nuevoalto, $ancho, $alto);// cambio el manaño
imagejpeg($imagennueva, $dir . $img2); // guardo el archivo nuevo
$archivo = $dir.$img2;
} else { 
//esto es si la imagen no excedia el ancho
$archivo = $dir.$img;
//guardo el archivo original
move_uploaded_file($HTTP_POST_FILES['imagen']['tmp_name'], $dir.$_FILES['imagen']['name']);
 };
 
$muestra = "<img src=\"".$archivo."\">";
} else {
$muestra = "el archivo no es JPG";
}}
?>

Y este es el formulario que hace el envio

<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <input type="file" name="imagen" id="imagen" />
  <input type="submit" name="Subir" id="Subir" value="Subir" />
</form>
Compartí este Post:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Reddit
  • De.lirio.us
  • Live
  • MySpace
  • Wykop
  • Yigg

Si te resultó útil este artículo no olvides de dejar un comentario o visitar alguno de los auspiciantes. Gracias




Frases de los Buscadores:
Estas frases son generadas con las palabras ingresadas en los buscadores que luego terminan en mi sitio. En algunos casos representan a contenido que si bien existe en mi blog, esta en otro post, por lo que cliqueando en cada una se puede realizar una busqueda y encontrarlo.