Buenos dias a todos, hace dias que tengo la intencion de armar una galeria de imagenes con php y mysql para que la pueda manipular el cliente, subir fotos nuevas y borrar fotos, pero tengo un problema al querer redimensionar las imagenes, es decir, que suba las imagenes y las redimensione y cuando la muestra que la vuelva a redimensionar, crear las thumbs y las fotos grandes, lei mucho en este foro, pero no consigo solucionar el problema, voy a pasar el codigo donde muestro lo que me esta pasando, espero puedan ayudarme.
PHP donde inserto las imagenes y las guarda en una carpeta llamada img, en esta pagina hago un require de un php que me pasaron y me dijeron que deberia funcionar, llamado redimensionar-imagen.php.
Código:
<?php
$host='localhost';
$user='root';
$pass='';
$db='maykabebe';
$con=mysql_connect($host, $user, $pass);
$select=mysql_select_db($db, $con);
require_once "redimensionar_imagen.php";
define('RUTA_IMG','img/');
$imagen=$_FILES['imagen'];
if($_SERVER['REQUEST_METHOD']=="POST"){
if(!empty ($imagen['tmp_name'])){
$nombreImagen=time().$imagen['name'];
chmod($imagen['tmp_name'],0777);
move_uploaded_file($imagen['tmp_name'],RUTA_IMG.$nombreImagen);
}
}
$query="insert into imagenes (imagen)
values ('$nombreImagen')";
$res= mysql_query($query, $con);
mysql_error($con);
?>
<form method="post" action="insertar-imagen.php" enctype="multipart/form-data">
Imagen:<br/>
<input type="file" name="imagen"><br/>
<input type="submit" value="Insertar imagen">
</form>
REDIMENSIONAR_IMAGEN.PHP:
Código:
<?php
extract($_GET);
/* Configurar ancho y alto máximos:
--------------------------------
*/
$anchura=100;
$hmax=100;
/*
--------------------------------
Fin de Configuración
*/
$nombre=basename($imagen);
$datos = getimagesize($nombre);
if($datos[2]==1){$img = @imagecreatefromgif($nombre);}
elseif($datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
elseif($datos[2]==3){$img = @imagecreatefrompng($nombre);}else{die("formato de imagen no aceptado");}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb = imagecreatetruecolor($anchura,$altura);
imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
if($datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
elseif($datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
else{header("Content-type: image/png");imagepng($thumb); }
imagedestroy($thumb);
?>
ERROR QUE ME MUESTRA:
Warning: getimagesize() [
function.getimagesize]: Filename cannot be empty in
C:\xampp\htdocs\pruebaImagenes\redimensionar_image n.php on line
13
formato de imagen no aceptado
La libreria GD, que me avisaron que debia estar habilitada en mi servidor, lo esta, lo comprobe con phpinfo() y aparece todo enable, tal vez me falte algun archivo? bueno......... les agradezco de antemano si alguien me puede ayudar.
Saludos.-