Foros del Web » Programando para Internet » PHP »

Problema con GD y subir imagenes..

Estas en el tema de Problema con GD y subir imagenes.. en el foro de PHP en Foros del Web. Hola, les comento. Tengo un problema, al subir imagenes, tengo 1 script que les escala el tamaño y tal... En local me funciona bien, pero ...
  #1 (permalink)  
Antiguo 26/04/2007, 09:20
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 0
Problema con GD y subir imagenes..

Hola, les comento.

Tengo un problema, al subir imagenes, tengo 1 script que les escala el tamaño y tal...

En local me funciona bien, pero a la hora de subirlo a un servidor me da estos errores:

Código PHP:
Warningimagegif(): Unable to access thumbs/ekisde[1].gif in /misitiolalalala/miperfil.php on line 319

Warning
imagegif(): Invalid filename 'thumbs/ekisde[1].gif' in /misitiolalalala/miperfil.php on line 319

Warning
imagegif(): Unable to access img/ekisde[1].gif in /misitiolalalala/miperfil.php on line 320

Warning
imagegif(): Invalid filename 'img/ekisde[1].gif' in /misitiolalalala//miperfil.php on line 320 
Tengo los permisos 777 en las 2 carpetas....que puede ser?? Un saludo..
  #2 (permalink)  
Antiguo 26/04/2007, 09:22
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: Problema con GD y subir imagenes..

coloca tu codigo de miperfil.php para que le echemos una chekeada... pero en la linea asi a primera vista pareciera que son las rutas /misitiolalalala/... creo que la ruta seria /var/www/html/tucarpeta/ o /www/tucarpeta/...

pero de todos modos colocar tu script para revisarlo
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #3 (permalink)  
Antiguo 26/04/2007, 09:44
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Problema con GD y subir imagenes..

Cita:
Iniciado por el cirujano Ver Mensaje
coloca tu codigo de miperfil.php para que le echemos una chekeada... pero en la linea asi a primera vista pareciera que son las rutas /misitiolalalala/... creo que la ruta seria /var/www/html/tucarpeta/ o /www/tucarpeta/...

pero de todos modos colocar tu script para revisarlo
Eso lo cambié yo xDD para que no se viera aqui.

Código PHP:
if(!empty($_FILES['foto4']['name'])){
        
        
/////////////////////////////
        // SINO EXISTEN LAS CARPETAS, SE CREAN.
        
if(!file_exists("thumbs/")){
            
mkdir("thumbs");
            
        }
        if(!
file_exists("img/")){
            
mkdir("img");
        }
    
        
//////////////////////////////////////////
        // VAMOS A CREAR LA MINIATURA
        // Y LA FOTO GRANDE ///////////////
        //////////////////////////////////////////
        // Creamos un array con el distinto tipos de imagenes que aceptamos.
        
$tiposimag=array("image/jpeg""image/pjpeg""image/gif" "image/png");
        
// Guardamos información de la imagen en variables
        
$nombre=$_FILES['foto4']['name'];
        
$tipo=$_FILES['foto4']['type'];
        
$tamanyo=$_FILES['foto4']['size'];
        
$tmp_nombre=$_FILES['foto4']['tmp_name'];
        
$error=$_FILES['foto4']['error'];
        
        
// Obtenemos el tamaño horizontal y vertical del archivo en un array.
        
$archivoTemp getimagesize($_FILES['foto4']['tmp_name']);
            if(!
in_array($tipo$tiposimag)){ 
                
$msg="No se permite este tipo de imagenes.";
            }
            
        switch(
$tipo){
            case 
$tiposimag[0];
                
$imagen imagecreatefromjpeg($tmp_nombre); // crea una copia en memoria de la imagen subida
            
break;
            case 
$tiposimag[1];
                
$imagen imagecreatefromjpeg($tmp_nombre);
            break;
            case 
$tiposimag[2];
                
$imagen imagecreatefromgif($tmp_nombre);
            break;
            case 
$tiposimag[3];
                
$imagen imagecreatefrompng($tmp_nombre);
            break;
            default:
            break;
        }

            
$thumb_max 135;
// de la imagen grande
$FotoG_max 400;

// Comprobamos si es horizontal
if($archivoTemp[0] > $archivoTemp[1]) { // El índice 0 contiene el ancho de la imagen en píxeles. El índice 1 contiene la altura
// Definimos las medidas de las imagenes del thumbnail.
$thumb_w $thumb_max// ancho máximo.
$thumb_h round(($archivoTemp[1]/$archivoTemp[0])*$thumb_max); // altura proporcional.
$FotoG_w $FotoG_max;
$FotoG_h round(($archivoTemp[1]/$archivoTemp[0])*$FotoG_max);
} else {
// sino es horizontal...
$thumb_h $thumb_max// altura maxima
$thumb_w round(($archivoTemp[0]/$archivoTemp[1])*$thumb_max); // anchura proporcional.
$FotoG_h $FotoG_max;
$FotoG_w round(($archivoTemp[0]/$archivoTemp[1])*$FotoG_max);
}

// Creamos las imágenes.
$thumb imagecreatetruecolor($thumb_w,$thumb_h); // creamos las imagenes con los tamaños que les dijimos arriba, no tienen colores, solo negro.
$FotoG imagecreatetruecolor($FotoG_w,$FotoG_h);

// Copiamos la original escalada.
imagecopyresized($thumb,$imagen,0,0,0,0,$thumb_w,$thumb_h,imagesx($imagen),imagesy($imagen)); // los parametros de esta función son: imagen destino, imagen original, ejes de cordenadas, X e Y, con imagesx y imagesy guardamos las cordenadas en las que queremos la imagen.
imagecopyresized($FotoG,$imagen,0,0,0,0,$FotoG_w,$FotoG_h,imagesx($imagen),imagesy($imagen));
// imagecopyresampled guarda los colores originales de la imagen, imagecopyresized no.


$carpetaThumbs="thumbs/";
$carpetaFotoG="img/";

        switch(
$tipo){ // segun el tipo que sea
            
case $tiposimag[0];
                
imagejpeg($thumb,$carpetaThumbs.$nombre); // la guardamos en un directorio con su nombre original.
                
imagejpeg($FotoG,$carpetaFotoG.$nombre);
            break;
            case 
$tiposimag[1];
                
imagejpeg($thumb,$carpetaThumbs.$nombre);
                
imagejpeg($FotoG,$carpetaFotoG.$nombre);
            break;
            case 
$tiposimag[2];
                
imagegif($thumb,$carpetaThumbs.$nombre);
                
imagegif($FotoG,$carpetaFotoG.$nombre);
            break;
            case 
$tiposimag[3];
                
imagepng($thumb,$carpetaThumbs.$nombre);
                
imagepng($FotoG,$carpetaFotoG.$nombre);
            break;
            default:
            break;
        }

        
// Destruimos ambas imágenes 
imagedestroy($thumb);
imagedestroy($FotoG);
        @
unlink($_FILES['foto4']['tmp_name']); // eliminamos el directorio.
        
$foto4=$nombre;
        
///////////////////////////////
        
        


Aqui os dejo el codigo.
  #4 (permalink)  
Antiguo 26/04/2007, 10:17
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Problema con GD y subir imagenes..

Antes que nada, revisa si las carpetas tienen permisos de lectura, escritura

(CHMOD 777)
  #5 (permalink)  
Antiguo 26/04/2007, 10:37
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Problema con GD y subir imagenes..

Cita:
Iniciado por @ndreX! Ver Mensaje
Antes que nada, revisa si las carpetas tienen permisos de lectura, escritura

(CHMOD 777)
Como dije más arriba, si, lo tienen.
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 03:04.