Foros del Web » Programando para Internet » PHP »

Tamaño imagen

Estas en el tema de Tamaño imagen en el foro de PHP en Foros del Web. Hola, tengo un sistema para subir imagenes. Me gustarñia podes tener la eleccion de poder modificar los tamaños de las mismas... El tema es que ...
  #1 (permalink)  
Antiguo 18/02/2008, 16:02
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Tamaño imagen

Hola, tengo un sistema para subir imagenes. Me gustarñia podes tener la eleccion de poder modificar los tamaños de las mismas... El tema es que no me anda mi script.

Este es el formulario
Código PHP:
<form action="prueba.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
        <
span class="Estilo2"><strong>Nombre</strong> <span class="Estilo1">(Opcional)</span></span> <br />
        <
input name="nombre" type="text" id="archivo" class="file" style="width:150px"><br /><br />
        <
strong>Archivo</strong> <br />
        <
input name="archivo" type="file" id="archivo" class="file" style="width:150px"><br /><br />
        <
strong>Tamaño</strong> <br />
        <
br /><br />
<
select name="nuevo_tamano">
<
option value="1" selected="selected">Dejar tamaño original</option>
<
option value="2">100x75 (Avatar)</option>
<
option value="3">150x112 (Vista previa)</option>
<
option value="4">250x250 (Vista previa)</option>
<
option value="5" selected>450x450 (Para Foros, Blogs y Spaces!)</option>
<
option value="6">640x480 (Para mensaje en foros)</option>
<
option value="7">800x600 (monitor de 15")</option>
<option value="
8">1024x768 (monitor de 17")</option>
<
option value="9">1280x1024 (monitor de 19")</option>
</select>
        <br /><br />
        <input name="
boton" id="boton" class="boton" type="submit" value="Subir Imagen!" />
      </form> 
Este es el proceso
Código PHP:
if(isset($_POST['boton'])){

$tipo = $_FILES['archivo']['type'];
$tamaño = $_FILES['archivo']['size'];
$nombre = $_POST['nombre'];
$nuevo_tamano = $_POST['nuevo_tamano'];

if(
$nuevo_tamano>1){

function 
redimensionar_imagen($imagen, $nombre_imagen_asociada)
    {
        
//indicamos el directorio donde se van a colgar las imágenes
        
$directorio = ".";
        
//establecemos los límites de ancho y alto
if($nuevo_tamano==2){
$nuevo_ancho = 100 ;
$nuevo_alto = 75 ;
}
elseif(
$nuevo_tamano==3){
$nuevo_ancho = 150 ;
$nuevo_alto = 112 ;
}
elseif(
$nuevo_tamano==4){
$nuevo_ancho = 250 ;
$nuevo_alto = 250 ;
}
elseif(
$nuevo_tamano==5){
$nuevo_ancho = 450 ;
$nuevo_alto = 450 ;
}
elseif(
$nuevo_tamano==6){
$nuevo_ancho = 640 ;
$nuevo_alto = 480 ;
}
elseif(
$nuevo_tamano==7){
$nuevo_ancho = 800 ;
$nuevo_alto = 600 ;
}
elseif(
$nuevo_tamano==8){
$nuevo_ancho = 1024 ;
$nuevo_alto = 768 ;
}
else{
$nuevo_ancho = 1280 ;
$nuevo_alto = 1024 ;
}
       
        
//Recojo información de la imágen
        
$info_imagen = getimagesize($imagen);
        
$alto = $info_imagen[1];
        
$ancho = $info_imagen[0];
        
$tipo_imagen = $info_imagen[2];
       
        
// dependiendo del tipo de imagen tengo que usar diferentes funciones
        
switch ($tipo_imagen) {
            case 
1: //si es gif …
                
$imagen_nueva = imagecreate($nuevo_ancho, $nuevo_alto);
                
$imagen_vieja = imagecreatefromgif($imagen);
                
//cambio de tamaño…
                
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
                if (!
imagegif($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
            break;
           
            case 
2: //si es jpeg …
                
$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
                
$imagen_vieja = imagecreatefromjpeg($imagen);
                
//cambio de tamaño…
                
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
                if (!
imagejpeg($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
            break;
           
            case 
3: //si es png …
                
$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
                
$imagen_vieja = imagecreatefrompng($imagen);
                
//cambio de tamaño…
                
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
                if (!
imagepng($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
            break;
        }
        return 
true; //si todo ha ido bien devuelve true
    
}


if (
is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {

if(
$HTTP_POST_FILES['archivo']['size'] < 1000000) {

if(
$tipo=="image/gif" || $tipo=="image/jpeg" || $tipo=="image/png" || $tipo=="image/jpg" || $tipo=="image/pjpeg" || $tipo=="image/x-png") {

copy($_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);

$usuario = $mostrar[username];
$info = pathinfo($HTTP_POST_FILES['archivo']['name']);
$aleatorio = substr(md5(uniqid(rand())),0,10).".".strtolower($info['extension']);
$imagen = $usuario."_".$aleatorio;

redimensionar_imagen($HTTP_POST_FILES['archivo']['name'], $imagen);

$dia = date ("d");
$mes = date ("m");
$ano = date ("Y");
$fecha = $dia."-".$mes."-".$ano;

$query = "INSERT INTO imagenes (username, nombre, imagen, fecha) VALUES('$usuario', '$nombre', '$imagen', '$fecha')";
mysql_query($query) or die(mysql_error());

$subio = true;
}
}
}
}else{
if (
is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {

if(
$HTTP_POST_FILES['archivo']['size'] < 1000000) {

if(
$tipo=="image/gif" || $tipo=="image/jpeg" || $tipo=="image/png" || $tipo=="image/jpg" || $tipo=="image/pjpeg" || $tipo=="image/x-png") {

$usuario = $mostrar[username];
$info = pathinfo($_FILES['archivo']['name']);
$aleatorio = substr(md5(uniqid(rand())),0,10).".".strtolower($info['extension']);
$imagen = $usuario."_".$aleatorio;
copy($_FILES['archivo']['tmp_name'], $imagen);

$dia = date ("d");
$mes = date ("m");
$ano = date ("Y");
$fecha = $dia."-".$mes."-".$ano;

$query = "INSERT INTO imagenes (username, nombre, imagen, fecha) VALUES('$usuario', '$nombre', '$imagen', '$fecha')";
mysql_query($query) or die(mysql_error());

$subio = true;
}
}
}
}

   if(
$subio) {
   
$ultimo = mysql_query("SELECT id,imagen FROM hostimage_imagenes WHERE imagen = '$imagen'") or die("Error: ".mysql_error());
$ver = mysql_fetch_array($ultimo);
echo 
$imagen;
   } else {
      echo 
'<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="150"><img src="imagenes/error.jpg"></td>
    <td width="*">El archivo no se pudo enviar. Recuerda que debe ser un archivo JPG, GIF o PNG y el tamaño no puede exceder 1MB</td>
  </tr>
</table>'
;
   }
} 
Si yo elijo "no cambiar el tamaño" me la sube de 10, si elijo un tamaño me la sube sin cambiar nada... aparece en blanco y no me sube nada....
  #2 (permalink)  
Antiguo 18/02/2008, 16:26
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Tamaño imagen

Es porque $nuevo_tamano es una variable dsponible en el ámbito global del script, pero no en el ámbito local de tu función redimensionar_imagen(). Agrega como primera línea de tu función lo que más arriba colocas:

Código PHP:
if(isset($_POST['boton'])){ 
 
$tipo = $_FILES['archivo']['type']; 
$tamaño = $_FILES['archivo']['size']; 
$nombre = $_POST['nombre']; 
# $nuevo_tamano = $_POST['nuevo_tamano']; 
 
if($nuevo_tamano>1){ 
 
function 
redimensionar_imagen($imagen, $nombre_imagen_asociada) { 
 
    
$nuevo_tamano = $_POST['nuevo_tamano']; 
 
    
//indicamos el directorio donde se van a colgar las imágenes 
    
$directorio = "."; 
    
//establecemos los límites de ancho y alto 
    
if($nuevo_tamano==2){ 
    
# ........... 
Un saludo,
  #3 (permalink)  
Antiguo 18/02/2008, 17:44
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Tamaño imagen

Mmmm... se... pero no funciona.... como recomendas que lo haga? no tengo ni idea... jejeje

GRACIAS!
  #4 (permalink)  
Antiguo 18/02/2008, 19:35
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Tamaño imagen

Es que tienes varios problemas del mismo tipo. Todas las variables que suas en el ámbito de la función las has declarado fuera de ella, por lo que no están disponibles cuando las llamas. Organiza un tanto mejor tu código, yo pienso que lo que deseas hacer no amerita crear una función, sino incluirlo en el código mismo. Y por último, te invito a ver la clase que hice para administrar imágenes: http://php.myokram.info/phpimagen. Creo que te servirá.

Ahora, esos if...else que aplicas para el nuevo tamaño los puedes solucionar muy fñacilmente con un swicth, o incluso crear un array cuyas claves sean als que corresponden a los valores del formulario y allí colocas las dimensiones de cada uno. Intenta, y si ocurre algún problema lo posteas aquí.

Un saludo,
  #5 (permalink)  
Antiguo 19/02/2008, 03:35
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 22 años, 1 mes
Puntos: 71
Re: Tamaño imagen

tambien hay que tener en cuenta las versiones de la libreria GD, ya que algunas solo admiten gif, otras jpg y png, etc... no recuerdo la relacion de version con el tipo de imagen que admiten, pero, por esa tonteria yo tuve problemas hace tiempo.

saludos
  #6 (permalink)  
Antiguo 19/02/2008, 08:37
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Tamaño imagen

Hola, busqué y busqué en google hasta que conseguí algo mas o menos interesante.... El tema es que ahora cambia el tamaño!!! pero la imagen queda negra :S

Este es:
Código PHP:
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {

if(
$HTTP_POST_FILES['archivo']['size'] < 1000000) {

if(
$tipo=="image/gif" || $tipo=="image/jpeg" || $tipo=="image/png" || $tipo=="image/jpg" || $tipo=="image/pjpeg" || $tipo=="image/x-png") {

copy($_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);

$usuario = $mostrar[username];
$info = pathinfo($HTTP_POST_FILES['archivo']['name']);
$aleatorio = substr(md5(uniqid(rand())),0,10).".".strtolower($info['extension']);
$imagen = $usuario."_".$aleatorio;

if(
$nuevo_tamano==2){
$nuevo_ancho = 100 ;
$nuevo_alto = 75 ;
}
elseif(
$nuevo_tamano==3){
$nuevo_ancho = 150 ;
$nuevo_alto = 112 ;
}
elseif(
$nuevo_tamano==4){
$nuevo_ancho = 250 ;
$nuevo_alto = 250 ;
}
elseif(
$nuevo_tamano==5){
$nuevo_ancho = 450 ;
$nuevo_alto = 450 ;
}
elseif(
$nuevo_tamano==6){
$nuevo_ancho = 640 ;
$nuevo_alto = 480 ;
}
elseif(
$nuevo_tamano==7){
$nuevo_ancho = 800 ;
$nuevo_alto = 600 ;
}
elseif(
$nuevo_tamano==8){
$nuevo_ancho = 1024 ;
$nuevo_alto = 768 ;
}
else{
$nuevo_ancho = 1280 ;
$nuevo_alto = 1024 ;
}
       
// Función para cambiar el tamaño de una imágen JPG 
//   (imagen1) y genera una nueva (imagen2)
function thumbjpegXY($imagen1,$anchura, $altura, $imagen2)
{
 
//echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n";
 
$img = imagecreatefromjpeg($imagen1) 
          or die(
"No se encuentra la imagen $camino$nombre<br>\n");

 
// miramos el tamaño de la imagen original...
 
$datos = getimagesize($imagen1) or die("Problemas al leer $imagen1<br>\n");


 
// esta será la nueva imagen reescalada
 
$thumb = imagecreatetruecolor($anchura,$altura);

 
// con esta función la reescalamos
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $datos[0], $datos[1]);

 
// La salvamos con el nombre y en el lugar que nos interesa.
 
imagejpeg($thumb,$imagen2);
}

thumbjpegXY($HTTP_POST_FILES['archivo']['name'],$nuevo_ancho, $nuevo_alto, $imagen); 
  #7 (permalink)  
Antiguo 19/02/2008, 17:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Tamaño imagen

Alguien que me pueda ayudar porfa??? gracias
  #8 (permalink)  
Antiguo 20/02/2008, 19:15
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Tamaño imagen

Estás cometiendo el mismo error que al inicio. Variables que están en el ámbito global del script no pueden ser accesadas directamente dentro de una función. Dentro de la función que has creado tienes esto:

Código PHP:
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $datos[0], $datos[1]); 
Sin embargo, $nuevo_ancho y $nuevo_alto han sido declaradas fuera de la función. Podrías pasarlas como parámetros de la función, o hacerlas globales:

Código PHP:
// Función para cambiar el tamaño de una imágen JPG  
//   (imagen1) y genera una nueva (imagen2) 
function thumbjpegXY($imagen1,$anchura, $altura, $imagen2) 
{ 
 
//echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n"; 
 
$img = imagecreatefromjpeg($imagen1)  
          or die(
"No se encuentra la imagen $camino$nombre<br>\n"); 
 
 
// miramos el tamaño de la imagen original... 
 
$datos = getimagesize($imagen1) or die("Problemas al leer $imagen1<br>\n"); 
 
 
 
// esta será la nueva imagen reescalada 
 
$thumb = imagecreatetruecolor($anchura,$altura); 
 
 
// con esta función la reescalamos 
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $GLOBALS['nuevo_ancho'], $GLOBALS['nuevo_alto'], $datos[0], $datos[1]); 
 
 
// La salvamos con el nombre y en el lugar que nos interesa. 
 
imagejpeg($thumb,$imagen2); 
} 
Haber, leéte esto:

http://www.php.net/variables.scope
http://www.desarrolloweb.com/articulos/2457.php

Un saludo,
  #9 (permalink)  
Antiguo 20/02/2008, 19:58
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Tamaño imagen

Gracias loco!!! ahora andaaaa!!!!
  #10 (permalink)  
Antiguo 21/02/2008, 02:15
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 22 años, 1 mes
Puntos: 71
Re: Tamaño imagen

Cita:
Iniciado por gesking Ver Mensaje
Gracias loco!!! ahora andaaaa!!!!
por lo que leo, ya lo has solucionado, con lo que no hace falta que conteste el privado :p

saludos!
  #11 (permalink)  
Antiguo 21/02/2008, 20:04
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Tamaño imagen

Hola. El problema es que me cambia el tamaño, pero queda totalmente negra....

Y tira este error

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/sow10700/public_html/subir_free2.php on line 297

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/sow10700/public_html/subir_free2.php on line 299

Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/sow10700/public_html/subir_free2.php on line 301

Este es el script:


Código PHP:
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {

if(
$HTTP_POST_FILES['archivo']['size'] < 400000) {

if(
$tipo=="image/gif" || $tipo=="image/jpeg" || $tipo=="image/png" || $tipo=="image/jpg" || $tipo=="image/pjpeg" || $tipo=="image/x-png") {

move_uploaded_file($_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
    
$info = pathinfo($imagen_user);
$aleatorio = substr(md5(uniqid(rand())),0,10).".".strtolower($info['extension']);
$imagen = $aleatorio;

if(
$nuevo_tamano==2){
$nuevo_ancho = 100 ;
$nuevo_alto = 75 ;
}
elseif(
$nuevo_tamano==3){
$nuevo_ancho = 150 ;
$nuevo_alto = 112 ;
}
elseif(
$nuevo_tamano==4){
$nuevo_ancho = 250 ;
$nuevo_alto = 250 ;
}
elseif(
$nuevo_tamano==5){
$nuevo_ancho = 450 ;
$nuevo_alto = 450 ;
}
elseif(
$nuevo_tamano==6){
$nuevo_ancho = 640 ;
$nuevo_alto = 480 ;
}
elseif(
$nuevo_tamano==7){
$nuevo_ancho = 800 ;
$nuevo_alto = 600 ;
}
elseif(
$nuevo_tamano==8){
$nuevo_ancho = 1024 ;
$nuevo_alto = 768 ;
}
else{
$nuevo_ancho = 1280 ;
$nuevo_alto = 1024 ;
}

$anchura = $datos[0];
$altura = $datos[1];
       
function 
thumbjpegXY($imagen1,$anchura, $altura, $imagen2)
{



 
$img = imagecreatefromjpeg($imagen1) 
          or die(
"No se encuentra la imagen $camino$nombre<br>\n");

 
$datos = getimagesize($imagen1) or die("Problemas al leer $imagen1<br>\n");


 
$thumb = imagecreatetruecolor($anchura,$altura);

imagecopyresampled($thumb, $img, 0, 0, 0, 0, $GLOBALS['nuevo_ancho'], $GLOBALS['nuevo_alto'], $GLOBALS['anchura'], $GLOBALS['altura']);

 
imagejpeg($thumb,$imagen2);
}

thumbjpegXY($HTTP_POST_FILES['archivo']['name'],$GLOBALS['nuevo_alto'], $GLOBALS['anchura'], $imagen);  


$dia = date ("d");
$mes = date ("m");
$ano = date ("Y");
$fecha = $dia."-".$mes."-".$ano;

$query = "INSERT INTO imagenes_free (imagen, fecha) VALUES('$imagen', '$fecha')";
mysql_query($query) or die(mysql_error());

$subio = true;
}
}
} 
  #12 (permalink)  
Antiguo 21/02/2008, 20:24
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Tamaño imagen

hola y hablando de imagenes, soy nuevo en esto y me gustaria hacer en una pagina web una especie de presentacion de varios videos y fotos para que la peña entre, lo que me gustaria hacer es colocar en una cenda unas imagenes que vayan cambiando ( 5 o 6 imagenes) como un resumen de la presentacion que hay dentro y no tengo ni idea de como hacerlo, un saludo y gracias de ante mano
  #13 (permalink)  
Antiguo 22/02/2008, 10:19
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 22 años, 1 mes
Puntos: 71
Re: Tamaño imagen

Código PHP:
    function miniatura($nombre_imagen, $nombre_miniatura, $thumbWidth){ // Crea una imagen en miniatura del fichero pasado por parametros a la anchura tambien pasada por parametros
        
$img = imagecreatefromjpeg($nombre_imagen);
        
$width = imagesx($img);
        
$height = imagesy($img);
        
// calcula el tamaño
        
$new_width = $thumbWidth;
        
$new_height = floor($height*($thumbWidth/$width));
        
// crea una nueva imagen de manera temporal
        
$tmp_img = imagecreatetruecolor($new_width, $new_height);
        
// copia y redimensiona la nueva imagen en la temporal que hemos creado
        
imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
        
// guarda el thumbnail en un archivo
        
imagejpeg($tmp_img, $nombre_miniatura);
        
imagedestroy($tmp_img);
    }

miniatura("miimagen.jpg", "thumb_miimagen.jpg", 80); 
toma el codigo hecho, a mi me funciona, lo tengo en mas de una pagina en funcionamiento sin ningun tipo de problema.


Por cierto, no envies MP, si no contesta la gente en el hilo, será por algo, saludos!
  #14 (permalink)  
Antiguo 22/02/2008, 10:52
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Tamaño imagen

Cita:
Iniciado por gesking Ver Mensaje
Gracias loco!!! ahora andaaaa!!!!
Pensé que ya lo habías solucionado

Un saludo,
  #15 (permalink)  
Antiguo 22/02/2008, 17:54
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Tamaño imagen

Gracias tanto a okram y a DooBie, pero el problema es que me di cuenta que solo puedo cambiar el tamaño de las JPG, pero como hago para GIF y PNG tambien???

Hice esto pero no funca:

Código PHP:
function miniatura($nombre_imagen, $nombre_miniatura){

$nombre_imagen = basename($imagen_user);  // $imagen_user = $_FILES['archivo']['name']
$datos = getimagesize($nombre_imagen);
if(
$tipo=="image/gif"){ $img = imagecreatefromgif($nombre_imagen); }
if(
$tipo=="image/jpeg"){ $img = imagecreatefromjpeg($nombre_imagen); }
if(
$tipo=="image/png"){ $img = imagecreatefrompng($nombre_imagen); }

$width = imagesx($img);
$height = imagesy($img);

$tmp_img = imagecreatetruecolor($GLOBALS['nuevo_ancho'], $GLOBALS['nuevo_alto']);

imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $GLOBALS['nuevo_ancho'], $GLOBALS['nuevo_alto'], $width, $height);

if(
$tipo=="image/gif"){ imagegif($tmp_img, $nombre_miniatura); }
if(
$tipo=="image/jpeg"){ imagejpeg($tmp_img, $nombre_miniatura); }
if(
$tipo=="image/png"){ imagepng($tmp_img, $nombre_miniatura); }

imagedestroy($tmp_img);
} 
No para de tirar errores, como puedo hacer para adaptar el que me dio DooBie para imagenes JPG, GIF y PNG

Gracias
  #16 (permalink)  
Antiguo 22/02/2008, 19:38
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Tamaño imagen

Cita:
Iniciado por okram Ver Mensaje
Estás cometiendo el mismo error que al inicio. Variables que están en el ámbito global del script no pueden ser accesadas directamente dentro de una función. Dentro de la función que has creado tienes esto:
Donde declaras la variable $tipo?

Leiste los artículos que te recomendé?

Por otro lado, qué tipo de errores te manda?

Ha de ser algo como $img is not a valid image resource? Por qué será no?

Un saludo,
  #17 (permalink)  
Antiguo 22/02/2008, 20:13
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Tamaño imagen

Jejeje disculpa, es que soy re pavo para estas cosas mas complicadas, se php basico =D

El tema es que cambie $tipo por $GLOBALS['tipo'] para ver que pasaba, me cambia el tamaño, pero la imagen queda totalmente negra y me tira este error:

Warning: imagesx(): supplied argument is not a valid Image resource in /home/sow10700/public_html/subir_free.php on line 285

Warning: imagesy(): supplied argument is not a valid Image resource in /home/sow10700/public_html/subir_free.php on line 286

Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/sow10700/public_html/subir_free.php on line 290

GRACIAS
  #18 (permalink)  
Antiguo 22/02/2008, 20:15
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Tamaño imagen

Disculpa, cambie esto:

$width = $datos[0];
$height = $datos[1];

Y ahora solo me salta:
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/sow10700/public_html/subir_free.php on line 290

La linea 290 es esta:
imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $GLOBALS['nuevo_ancho'], $GLOBALS['nuevo_alto'], $width, $height);
  #19 (permalink)  
Antiguo 22/02/2008, 22:10
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Tamaño imagen

Cita:
Iniciado por okram Ver Mensaje
Donde declaras la variable $tipo?
(Misma pregunta)

Un saludo,
  #20 (permalink)  
Antiguo 22/02/2008, 22:27
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Tamaño imagen

Prueba poniendo $_FILES['archivo']['type'] en vez de $tipo

Saludos,
  #21 (permalink)  
Antiguo 23/02/2008, 01:20
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 22 años, 1 mes
Puntos: 71
Re: Tamaño imagen

Vuelvo a contestar la misma respuesta de hace unos dias.
Dependiendo de la version que tengas de la libreria GD solo podras usar imagenes jpg, png o gif, esto es por un tema de patentes o algo por el estilo, lei algo hace tiempo, busca informacion por google, hay a patadas comentando este "problema"

mi script funciona SOLO para archivos jpg, que es el formato que soportan todas las versiones de la libreria GD, con lo que antes de hacer la miniatura, hago un filtro para solo admitir archivos de este tipo.

saludos y busca informacion sobre el tema :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:16.