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