Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2004, 11:49
Avatar de HiTek
HiTek
 
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 22 años, 10 meses
Puntos: 0
PRoblema con upload de imagenes

Saludos a todos y gracias por estar leyendo mi post.

Tengo un script que intenta subir imagenes jpg al servidor
pero al ejecutar el comando copy aparece el siguiente error

Warning: copy(Imagen.jpg): failed to open stream: No such file or directory in /home_clientes/jardinau/public_html/test/loader.php on line 100
por ahi en algunos foros vi que podia tratarse de permisos de directorios, pero a pesar de que los tenia con todos los permisos (777) y he probado otras combinaciones esto sigue sin funcionar, ojala puedan darme una mano, desde ya muchas gracias

http://www.jardinaurorita.cl/test/loader.php

y el script aqui va
Código PHP:
<?
// Error 001    =    Extension No corresponde
// Error 002    =    No hay Extension de archivo
// Error 003    =    El Archivo ya existe en el servidor
// Error 004    =    Error al copiar el archivo.
    
$Prcnt = 0.30;                         // 30% del tamaño de la imagen real;
    
$Var_Folder = "/imagenes/";        // Directorio contenedor de imagenes
    
$Var_Tbnl_Prefix = "TNPic_";        // Prefijo de las miniaturas
//------------------------------------------------------------
    
Function Check_Extension( $Var_Extension )
    {
        
$ValidExt = "jpg";
        echo 
"Chek extension. Valida: ".$ValidExt."<br>";
        echo 
"Extension del archivo : ".$Var_Extension."<br>";
        if(
$Var_Extension == $ValidExt){
            return 
1;
        }else{
            return 
0;
        }
    }
//------------------------------------------------------------
    
Function Get_Extension( $Var_Image )
    {
        echo 
"Imagen en Get_Extension: ".$Var_Image."<br>";
        
$N_Pos = strpos( $Var_Image, ".");
        
$Var_Image = strtolower($Var_Image);
        
$Extension = substr($Var_Image, $N_Pos +1 ,3 );
        echo 
"Posicion de punto ".$N_Pos." / en " . $Var_Image . "<br>";
        echo 
"Extension del archivo: ".$Extension."<br>";
        If( 
$Extension != "" ){
            If(
Check_Extension($Extension) == 1)
                return 
1;
            else
                return 
0;
        }Else{
            
Error("002");
        }
    }
//------------------------------------------------------------
    
Function New_Name( $Var_Img_Name )
    {
        
$Var_Img_Name = md5( Var_Img_Name );
        
$Var_Img_Name = $Var_Folder.$Var_Img_Name.".jpg";
        Return 
$Var_Img_Name;    
    }
//------------------------------------------------------------
    
Function Make_Thumbnail( $Var_Img_Name )
    {
        echo 
"Paso a funcion de creacion de thumbnail<br>"; 
        
$Var_Img_Size = getimagesize( $Var_Folder.$Var_Img_Name );
        
$Var_Alto_Real  = $Var_Img_Size[1];
        
$Var_Ancho_Real = $Var_Img_Size[0];
        
$Var_Alto_Final  = ($Prcnt * $Var_Img_Size[1])/100;
        
$Var_Ancho_Final = ($Prcnt * $Var_Img_Size[0])/100;
        
$Thumb1 = imagecreatefromjpeg( $Var_Folder.$Var_Img_Name );
        
$Thumb2 = @imagecreatetruecolor( $Var_Ancho_Final, $Var_Alto_Final ) or $Thumb2=imagecreate( $Var_Ancho_Final, $Var_Alto_Final );
        @
imagecopyresampled($Thumb2,$Thumb1,0,0,0,0,$Var_Ancho_Final,$Var_Alto_Final,$Var_Ancho_Real,$Var_Alto_Real) or imagecopyresized($Thumb2,$Thumb1,0,0,0,0,$Var_Ancho_Final,$Var_Alto_Final,$Var_Ancho_Real,$Var_Alto_Real);
        
imagejpeg($Thumb2, $Var_Folder.$Var_Img_Name );
        echo 
"imagen cargada : ".$Var_Folder.$Thumb2."<br>";
    }
//------------------------------------------------------------
    
Function Error( $Error_Number )
    {
        if( 
$Error_Number == "001" )
            echo 
"Extension de archivo no permitida<br>";
        if( 
$Error_Number == "002" )
            echo 
"No se encontró una extensión para el archivo<br>";
        if( 
$Error_Number == "003" )
            echo 
"El archivo Ya existe<br>";
        if( 
$Error_Number == "004" )
            echo 
"Error al copiar la imagen<br>";
    }
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
Subir imagenes al servidor 
<form action="?sendimg=pixel" method="post" enctype="multipart/form-data" name="form1">
  <input name="imagen" type="file" value="">
  <input type="submit" name="Submit" value="Cargar Imagen">
</form>
<?
    
if($_GET["sendimg"]=="pixel")
    {
        echo 
"pasa al script, imagen: " . $_FILES['imagen']['name'] ." <br>";
        
$Var_FileName = $_FILES['imagen']['name'];
        
// Si el archivo tiene extensión valida que certifica que es una imagen,
        // se comprobará que no exista en el servidor.
        
If( Get_Extension( $_FILES['imagen']['name'] ) == 1 ){
            echo 
"Paso prueba de extensión<br>";
            
$New_Img_Name = New_Name( $Var_FileName );
            echo 
"cambio de nombre a: ".$New_Img_Name."<br>";
            if( !
file_exists( $Var_Folder.$New_Img_Name ) ){
                echo 
"El archivo no existe...se subirá<br>";
                
// El archivo No existe en el servidor, se procede a copiarlo.
                
if(copy($Var_FileName, $New_Img_Name)){
                    echo 
"Archivo subido...creando thumbnail<br>";
                    
//Rutina de creación de Thumbnail y Agregado a la BD
                    //Se crea el Thumbnail a partir del archivo en el servidor
                    
Make_Thumbnail( $New_Img_Name );
                }else{
                    
Error("004");
                }
            }Else{
                
Error("003");
            }
        }Else{
            
Error("001");
        }
    }
?>
</body>
</html>
tiene varias etapas de depuración para ir viendo el estado de avance del script, por lo que se hace fácil detectar los errores...salu2