Foros del Web » Programando para Internet » PHP »

Error en upload de imagenes

Estas en el tema de Error en upload de imagenes en el foro de PHP en Foros del Web. Tengo un problemilla. En un servidor tengo instalado una web que lleva una pagina donde subo ficheros de imagen para mostrarlos. Los archivos los sube ...
  #1 (permalink)  
Antiguo 18/06/2009, 08:02
 
Fecha de Ingreso: mayo-2005
Mensajes: 51
Antigüedad: 19 años
Puntos: 0
Error en upload de imagenes

Tengo un problemilla.

En un servidor tengo instalado una web que lleva una pagina donde subo ficheros de imagen para mostrarlos.

Los archivos los sube perfectamente, pero luego al mostrarlos en internet me muestra el tipico mensaje:

Forbidden
You don't have permission to access /archivos/.........


He revisado el codigo de la pagina que sube los archivos y he añadido una linea para que de permisos 777 a los archivos que sube, ya que aunque la carpeta tenga ese permiso, me he dado cuenta de que si hago que los archivos que subo tambien tengan ese permiso, entonces si que se pueden visionar.

He puesto lo siguiente:

Código PHP:
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo1"gif") || strpos($tipo_archivo1"jpeg")) && ($tamano_archivo1 2253600))) {
    
$ok1;
    
}else{
    
$path getcwd();
    
$path str_replace("admin","archivos",$path);
    if(
strpos($tipo_archivo1"gif")) {$nom_img=$nom_img."gif";} else {$nom_img=$nom_img."jpg";}
    if (!
move_uploaded_file($_FILES['file']['tmp_name'], $path.'/'.$_FILES['file']['name']);
    
chmod("./files/".$_FILES['file']['name'], 0777);
     ){
     
$ok2
Y la pagina que sube el archivo, me muestra este error

Código PHP:
Parse errorsyntax errorunexpected ';' in /home/********/public_html/admin/upload_file.php on line 22 
  #2 (permalink)  
Antiguo 18/06/2009, 09:31
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Error en upload de imagenes

en cuanto a ese error FORBIDDEN puedes probar poniendo los permisos en 0755 y el segundo error es precisamente eso, tiene un (;) que no deberia ir ahi.

no se si puedas postear el codigo completo para poder ayudarte mejor.

suerte.
  #3 (permalink)  
Antiguo 18/06/2009, 09:58
 
Fecha de Ingreso: mayo-2005
Mensajes: 51
Antigüedad: 19 años
Puntos: 0
Respuesta: Error en upload de imagenes

Cita:
Iniciado por lair Ver Mensaje
en cuanto a ese error FORBIDDEN puedes probar poniendo los permisos en 0755 y el segundo error es precisamente eso, tiene un (;) que no deberia ir ahi.

no se si puedas postear el codigo completo para poder ayudarte mejor.

suerte.
Si mira este es el codigo del archivo que sube las imagenes:

Código PHP:
<?php
$ok
=0;
$e $_POST['e'];
$n =$_POST['n'];

//datos de la imagen

$nombre_archivo1 $HTTP_POST_FILES['file']['name'];

$tipo_archivo1 $HTTP_POST_FILES['file']['type'];

$tamano_archivo1 $HTTP_POST_FILES['file']['size'];

//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo1"gif") || strpos($tipo_archivo1"jpeg")) && ($tamano_archivo1 222222253600))) {
    
$ok1;
    
}else{
    
$path getcwd();
    
$path str_replace("admin","archivos",$path);
    if(
strpos($tipo_archivo1"gif")) {$nom_img=$nom_img."gif";} else {$nom_img=$nom_img."jpg";}
    if (!
move_uploaded_file($_FILES['file']['tmp_name'], $path.'/'.$_FILES['file']['name']) )
    
chmod("$path".$nombre_archivo1,0644)
    {
     
$ok2;
        
    }
}



if(
$ok==0)
      {
     include( 
"upload_complete.php"); 
    
      }
      else
      {
       
      if (
$ok==1$texto2"La extensión o el tamaño de el archivo ".$nombre_archivo1." no es correcta: <br>Se permiten archivos .gif o .jpg<br>se permiten archivos de 150 Kb máximo.";
      if (
$ok==2$texto2="Ocurrió algún error al subir el fichero ".$nombre_archivo1."<br> No pudo guardarse.";
      include( 
"errorcarga.php");
    }  

     
?>
y me muestra en pantalla:

Parse error: syntax error, unexpected '{' in /home/******/public_html/admin/upload_file.php on line 24
  #4 (permalink)  
Antiguo 18/06/2009, 15:25
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Error en upload de imagenes

<?php
$ok=0;
$e = $_POST['e'];
$n =$_POST['n'];

//datos de la imagen

$nombre_archivo1 = $HTTP_POST_FILES['file']['name'];

$tipo_archivo1 = $HTTP_POST_FILES['file']['type'];

$tamano_archivo1 = $HTTP_POST_FILES['file']['size'];

//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo1, "gif") || strpos($tipo_archivo1, "jpeg")) && ($tamano_archivo1 < 222222253600))) {
$ok= 1;

}else{
$path = getcwd();
$path = str_replace("admin","archivos",$path);
if(strpos($tipo_archivo1, "gif")) {$nom_img=$nom_img."gif";} else {$nom_img=$nom_img."jpg";}
if (!move_uploaded_file($_FILES['file']['tmp_name'], $path.'/'.$_FILES['file']['name']) )
chmod("$path".$nombre_archivo1,0644)
{ ESTA LLAVE SI ESTA BIEN???
$ok= 2;

}
}



if($ok==0)
{
include( "upload_complete.php");

}
else
{

if ($ok==1) $texto2= "La extensión o el tamaño de el archivo ".$nombre_archivo1." no es correcta: <br>Se permiten archivos .gif o .jpg<br>se permiten archivos de 150 Kb máximo.";
if ($ok==2) $texto2="Ocurrió algún error al subir el fichero ".$nombre_archivo1."<br> No pudo guardarse.";
include( "errorcarga.php");
}


?>
  #5 (permalink)  
Antiguo 18/06/2009, 15:49
 
Fecha de Ingreso: mayo-2005
Mensajes: 51
Antigüedad: 19 años
Puntos: 0
Respuesta: Error en upload de imagenes

Solucionado.

He variado unas lineas del codigo, y funciona perfectamente.
Lo dejo aqui por si le puede servir a alguien:

Cita:
<?php
$ok=0;
$e = $_POST['e'];
$n =$_POST['n'];

//datos de la imagen

$nombre_archivo1 = $HTTP_POST_FILES['file']['name'];
$tipo_archivo1 = $HTTP_POST_FILES['file']['type'];
$tamano_archivo1 = $HTTP_POST_FILES['file']['size'];

//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo1, "gif") || strpos($tipo_archivo1, "jpeg")) && ($tamano_archivo1 < 222222253600))) {
$ok= 1;

}else
{
$path = getcwd();
$path = str_replace("admin","archivos",$path);
if(strpos($tipo_archivo1, "gif")) {$nom_img=$nom_img."gif";} else {$nom_img=$nom_img."jpg";}
if (move_uploaded_file($_FILES['file']['tmp_name'], $path.'/'.$_FILES['file']['name']) )
{
$ok= 2;
}
{
//Cambiar permisos
chmod("../archivos/".$nombre_archivo1,0644);
echo "<br><center>El fichero: ".$nombre_archivo1." ha sido cargado correctamente.";
}
{
include( "upload_complete.php");

}
}

?>

Última edición por Okiro; 18/06/2009 a las 17:01
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 11:18.