Foros del Web » Programando para Internet » PHP »

PRoblema con upload de imagenes

Estas en el tema de PRoblema con upload de imagenes en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 15/10/2004, 11:49
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 21 años
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 +,);
        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 md5Var_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'] ) == ){
            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
  #2 (permalink)  
Antiguo 15/10/2004, 12:34
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 21 años, 4 meses
Puntos: 2
usa move_uploaded_file y dale chmod 777 con tu cliente ftp a la carpeta donde subiran las imagenes :D
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 15/10/2004, 13:06
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 21 años
Puntos: 0
Gracias Gerald por tu ayuda pero no funciona el script :S
probé con move_uploaded_file y con copy pero no funciona!!!!!!
permisos en 777 no me dejan ejecutar los scripts .php por lo que debo tenerlos en 755
y los directorios que puedo darles 777 no funciona el script. lo probe en modo local pero tampoco funciona....alguien tiene alguna otra sugerencia, gracias nuevamente!
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 14:05.