Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/04/2007, 09:44
Avatar de AdRiAnCeTe
AdRiAnCeTe
 
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 18 años
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.