Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2006, 14:17
Avatar de 100
100
 
Fecha de Ingreso: mayo-2006
Ubicación: Ferror
Mensajes: 3
Antigüedad: 18 años
Puntos: 0
[GD] 1 imagen // 2 copias, diferentes dimensiones y dirs

Q pasó!

Primer post en el foro..


Quería hacer una cosilla :

Subir una imagen, redimensionarla a un tamaño y guardarla en un directorio; y después crear un thumbnail y gurdarlo en otro directorio.


Quité unas cuantas cosas y quedó en esto ( supongo q lo puedo dejar mejor ). Con un formulario envío la imagen al script. Habilité 2 directorios con los mismos nombres q dejé en las variables correspondientes y en la ruta correcta. De hecho copia, redimensiona la imagen en el directorio "fotosConciertos/", pero en el directorio donde debe copiar y redimensionar como thumbnail, "fotosConciertosT/", crea el archivo de imagen con las dimensiones del thumbnail, pero no llega a copiar la imagen original al nuevo archivo, quedando un archivo de color negro.




error q pone :

Warning: imagecreatefromjpeg(fotosConciertosT/imagen.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\AppServ\www\disco600\nueva web\subirFotoConcierto.php on line 100


Logicamente el apache y php versión está para q soporte GD2 y eso


Supongo q será una tontería pero no alcanzo. No llevo mucho en esto de la programación..



el script :


Código PHP:
if ($_POST['submit']){
    

    
copiarRedImagen ();

    
    
}else{
    
    echo 
"Imagen no recibida";
    
};

function 
copiarRedImagen (){
    
    
$extensiones = array('.jpg','.jpeg','.gif','.png');
    
$anchura_max 800;
    
$altura_max 600;
    
$tamano_max=512000;
    
    
$imgarchivo $_FILES['imgarchivo']['name'];
    
$imgarchivo strtolower$imgarchivo );
    
$temporal $_FILES['imgarchivo']['tmp_name'];
    
$fichero_ruta"fotosConciertos/" $imgarchivo;
    
$fichero_ruta_thumb"fotosConciertosT/tn_" $imgarchivo;
    
$redx "600";
    
$redy "450";
    
$redx_thumb "100";
    
$redy_thumb "75";

    if ( 
file_exists ($fichero_ruta) ){
        
        echo 
"Imagen ya existe";

    };
    
    
move_uploaded_file($temporal,$fichero_ruta);
    
move_uploaded_file($temporal,$fichero_ruta_thumb);

    
$datos getimagesize ($fichero_ruta);
    
$ext strrchr($fichero_ruta,".");
    
$ext_correcta="no";

    foreach (
$extensiones as $extension){
        
        if (
$ext == $extension){
            
            
$ext_correcta="si";
        
        }
    }
    
    if (
$ext_correcta=="no"){
        
        
unlink ($fichero_ruta);
        
unlink ($fichero_ruta_thumb);
        
    }
    
    
$tamano=filesize($fichero_ruta);
        
    if (
$tamano>$tamano_max){
        
        
unlink ($fichero_ruta);
        
unlink ($fichero_ruta_thumb);
            
    }
        
    if ((
$anchura_max!=0) && ($datos[0]>$anchura_max)){
        
        
unlink ($fichero_ruta);
        
unlink ($fichero_ruta_thumb);
        
    }

    if ( 
$datos[2]==){
        
        if (
function_exists("imagecreatefromgif")){
                
            
$img imagecreatefromgif($fichero_ruta);
            
$img_thumb imagecreatefromgif($fichero_ruta_thumb);

                
        } else {
            
            
unlink ($fichero_ruta);
            
unlink ($fichero_ruta_thumb);

        }
    }
            
    if (
$datos[2]==2){
            
        if (
function_exists("imagecreatefromjpeg")){
                    
            
$img imagecreatefromjpeg($fichero_ruta);
            
$img_thumb imagecreatefromjpeg($fichero_ruta_thumb);
        
        } else {
        
            
unlink ($fichero_ruta);
            
unlink ($fichero_ruta_thumb);
        
        }
    }
    
    if (
$datos[2]==3){
        
        if (
function_exists("imagecreatefrompng")){
        
$img imagecreatefrompng($fichero_ruta);
        
$img_thumb imagecreatefrompng($fichero_ruta_thumb);
        
        } else {
            
            
unlink ($fichero_ruta);
            
unlink ($fichero_ruta_thumb);
                    
        }
            
    }

    
$ancho_orig $datos[0];
    
$alto_orig $datos[1];
        
    if (
$ancho_orig $alto_orig){
        
        
$ancho_dest $redx;
        
$alto_dest = ($ancho_dest/$ancho_orig)*$alto_orig;
        
        
$ancho_dest_thumb $redx_thumb;
        
$alto_dest_thumb = ($ancho_dest_thumb/$ancho_orig)*$alto_orig;
        
    }else{
        
        
$alto_dest $redy;
        
$ancho_dest = ($alto_dest/$alto_orig)*$ancho_orig;
        
        
$alto_dest_thumb $redy_thumb;
        
$ancho_dest_thumb = ($alto_dest_thumb/$alto_orig)*$ancho_orig;
        
    }
        
    
$img2 = @imagecreatetruecolor($ancho_dest,$alto_dest) or $img2=imagecreate($ancho_dest,$alto_dest);
    
$img2_thumb = @imagecreatetruecolor($ancho_dest_thumb,$alto_dest_thumb) or $img2_thumb=imagecreate($ancho_dest_thumb,$alto_dest_thumb);
    @
imagecopyresampled($img2,$img,0,0,0,0,$ancho_dest,$alto_dest,$ancho_orig,$alto_orig) or imagecopyresized($img2,$img,0,0,0,0,$ancho_dest,$alto_dest,$ancho_orig,$alto_orig);
    @
imagecopyresampled($img2_thumb,$img_thumb,0,0,0,0,$ancho_dest_thumb,$alto_dest_thumb,$ancho_orig,$alto_orig) or imagecopyresized($img2_thumb,$img_thumb,0,0,0,0,$ancho_dest_thumb,$alto_dest_thumb,$ancho_orig,$alto_orig);
    if (
$datos[2]==1){

        if (
function_exists("imagegif")){

            
imagegif($img2$fichero_ruta);
            
imagegif($img2_thumb$fichero_ruta_thumb);
                
        }else{
            
            
unlink ($fichero_ruta);
            
unlink ($fichero_ruta_thumb);
            
        }
    }
        
    if (
$datos[2]==2){
            
        if (
function_exists("imagejpeg")){
                    
            
imagejpeg($img2$fichero_ruta);
            
imagejpeg($img2_thumb$fichero_ruta_thumb);
                
        }else{
                
            
unlink ($fichero_ruta);
            
unlink ($fichero_ruta_thumb);
                
        }
    }
            
    if (
$datos[2]==3){
                
        if (
function_exists("imagepng")){
        
            
imagepng($imgRed2$fichero_ruta);
            
imagepng($imgRed2_thumb$fichero_ruta_thumb);
                
        }else{

            
unlink ($fichero_ruta);
            
unlink ($fichero_ruta_thumb);

        }
    }

    
clearstatcache();


    echo 
"<img src=\"$fichero_ruta\" alt=\"$fichero_ruta\" /><br />\n";
    echo 
"<br>";
    echo 
"<img src=\"$fichero_ruta_thumb\" alt=\"$fichero_ruta_thumb\" /><br />\n";
        




Urge una ayudita..

GRACIAS quienquiera q se preste