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: 17 años, 3 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 ForosBlogs 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_vieja0000$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_vieja0000$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_vieja0000$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: 17 años, 3 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: 19 años, 6 meses
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: 17 años, 3 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$img0000$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: 17 años, 3 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$img0000$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$img0000$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: 17 años, 3 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: 19 años, 6 meses
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: 17 años, 3 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$img0000$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: 16 años, 1 mes
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: 19 años, 6 meses
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$img0000$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: 17 años, 3 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$img0000$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: 17 años, 3 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: 17 años, 3 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: 19 años, 6 meses
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 20:39.