con el cual primero obtengo los datos de la imagen , luego hago las verificaciones la guardo en una carpeta temp para luego modifcarla y terminar por guardarla en una carpeta llamada miniatura .
Me gustaria saber si alguien tiene alguna idea de adaptar el codigo para que pueda en vesde guardar una imagen guardar 3, es decir tener 3 campos files y al final tener 3 imagenes distisntas guardadas.
este es el codigo:
Código PHP:
<?php
$dirbase = 'Directorio interno/';
// MOD Minenage
if ($HTTP_POST_FILES['MINIATURA']['name'] != '') {
$nombre_archivo = $HTTP_POST_FILES['MINIATURA']['name'];
$tipo_archivo = $HTTP_POST_FILES['MINIATURA']['type'];
$tamano_archivo = $HTTP_POST_FILES['MINIATURA']['size'];
$archivo = pathinfo($nombre_archivo);
$archivo = $archivo['filename'];
//compruebo si las características del archivo son las que deseo
$url_mini_no_valida = '';
$sw = '';
if (strpos($tipo_archivo, "jpg")) $sw = $tipo_archivo;
if (strpos($tipo_archivo, "jpG")) $sw = $tipo_archivo;
if (strpos($tipo_archivo, "jpeg")) $sw = $tipo_archivo;
if (strpos($tipo_archivo, "png")) $sw = $tipo_archivo;
if (strpos($tipo_archivo, "gif")) $sw = $tipo_archivo;
if ($sw == '') {
$msj = 'Extensión de archivo no válida: '.$tipo_archivo;
echo '<script> alert("Tipo de archivo no soportado: '.$msj.'"); </script>';
$tpl->assign($data);
//$tpl->assign('ruta_miniatura', 'http://localhost/phpld22/miniaturas/');
$content = $tpl->fetch('admin/dir_links_edit.tpl');
$tpl->assign('content', $content);
//Clean whitespace
$tpl->load_filter('output', 'trimwhitespace');
//Make output
echo $tpl->fetch('admin/main.tpl');
die();
} else {
if (move_uploaded_file($HTTP_POST_FILES['MINIATURA']['tmp_name'], $dirbase.'temp/'.$nombre_archivo)) {
if (file_exists($dirbase.'miniaturas/_'.$archivo.'.jpg')) {
if (!unlink($dirbase.'miniaturas/_'.$archivo.'.jpg')) {
echo "fallo al borrar miniatura anterior";
die();
}
}
$rere = getimagesize($dirbase.'temp/'.$nombre_archivo);
escalar($dirbase.'temp/'.$nombre_archivo, 300, 300);
if (!unlink($dirbase.'temp/'.$nombre_archivo)) {
echo "fallo al borrar imagen original temporal";
$error = 'problema en !unlink<br/>';
die();
}
rename ($dirbase.'temp/_'.$archivo.'.jpg', $dirbase.'miniaturas/_'.$archivo.'.jpg');
$data['MINIATURA'] = '_'.$archivo.'.jpg';
} else {
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
}
// FIN MOD Minenage ?>
<?php // NOD Minenage
function escalar($imagen,$ancho,$altura) {
$prefijo_thumb = "_";
$camino_nombre=explode("/",$imagen);
$nombre=end($camino_nombre);
$camino=substr($imagen,0,strlen($imagen)-strlen($nombre));
$archivo = pathinfo($imagen);
$extension = $archivo['extension'];
$nombre_archivo = $archivo['filename'];
if (!file_exists($camino.$prefijo_thumb.$nombre)) {
if (($extension == 'jpeg') || ($extension == 'jpg')) {
$img = @imagecreatefromjpeg($camino.$nombre);
} elseif ($extension == 'png') {
$img = @imagecreatefrompng($camino.$nombre);
} elseif ($extension == 'gif') {
$img = @imagecreatefromgif($camino.$nombre);
}
if (!$img) { /* Comprobar si ha fallado */
$img = @imagecreatefromjpeg("temp/gatito.jpg");
$datos = getimagesize("temp/gatito.jpg") or die("Problemas con $camino$nombre<br>");
$anchura = $ancho;
$thumb = imagecreatetruecolor($anchura,$altura);
imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]); // calidad
//imagecopyresized ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]); // rapidez
imagejpeg($thumb,$camino.$prefijo_thumb.$nombre);
} else {
$datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>");
$ratio = ($datos[0] / $ancho);
$ancho_final = 300;
$alto_final = 230;
$escalada = imagecreatetruecolor($ancho_final,$alto_final);
imagecopyresized($escalada, $img, 0, 0, 0, 0, $ancho_final, $alto_final, $datos[0], $datos[1]); // calidad
//imagecopyresized ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]); // rapidez
$thumb = imagecreatetruecolor($ancho_final,$alto_final);
imagecopyresized ($thumb, $escalada, 0, 0, 0, 0, $ancho, $altura, $ancho_final, $altura); // calidad
$ruta_marca = 'marca_de_agua.png';
$watermark = imagecreatefrompng($ruta_marca);
imagecopymerge($thumb, $watermark, 15, 0, 0, 0,15, $ancho_final, 30);
$_POST['asd'] = 'http://www.minicio.com.ar/miniaturas/'.$prefijo_thumb.$nombre_archivo.'.jpg';
imagejpeg($thumb,$camino.$prefijo_thumb.$nombre_archivo.'.jpg');
}
}
}
// FIN MOD Minenage ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<?php if(isset($_POST)){ echo $rere[0].'<br/>'.$rere[1];} ?>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
<label>
<input type="file" name="MINIATURA" id="MINIATURA" />
</label>
<p>
<label>
<input type="submit" name="enviar" id="enviar" value="Enviar" />
</label>
Porfavor para realizar la primera prueba descarga la "Imagen Original".</p>
</form>
<table width="675" height="312" border="1">
<tr>
<td width="329" height="33">Imagen Original: medias 300 x 300</td>
<td width="330">Imagen Dimencionada: medias 310 x 250</td>
</tr>
<tr>
<td height="228"><img src="http://www.minicio.com.ar/prueba.jpg" /></td>
<td><img src="<?php echo $_POST['asd']; ?>"/></td>
</tr>
</table>
</body>
</html>