Foros del Web » Programando para Internet » PHP »

Cargar archivos

Estas en el tema de Cargar archivos en el foro de PHP en Foros del Web. Hola a todos!!! Pues de nuevo aqui, El problema que tengo es que no puedo subir un fichero al servidor y no se por que, ...
  #1 (permalink)  
Antiguo 03/08/2012, 18:54
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 14 años, 6 meses
Puntos: 0
Mensaje Cargar archivos

Hola a todos!!!

Pues de nuevo aqui,

El problema que tengo es que no puedo subir un fichero al servidor y no se por que,

En el php.ini y ya lo modifique,
upload_max_filesize = 4M
file_uploads = On
post_max_size = 5M


A la carpeta donde quiero poner lor archivos ya le puse todos los permisos

drwxrwxrwx 2 root root 4.0K ago 3 17:41 escaneos

Y aun asi no puedo subir el archivo

En el Codigo de PHP pongo lo siguiente

echo "ERROR:".is_uploaded_file($_FILES['userfile']['tmp_name']);

Y me imprime lo siguiente

ERROR:Array ( [userfile] => Array ( [name] => error mail.png [type] => [tmp_name] => [error] => 2 [size] => 0 ) )

Aqui les ddejo los codigos.

Código HTML:
Ver original
  1.  
  2. </head>
  3. <BODY>  
  4.     <FORM action="GuardarArchivo.php" method="POST" enctype="multipart/form-data">
  5.         <input type="hidden" name="MAX_FILE_SIZE" value="5120">
  6.         Subir este archivo: <br><br>
  7.         <input name="userfile" type="file"><br><br><br>
  8.         <input type="submit" value="Subir">
  9.     </FORM>
  10. </BODY>
  11. </html>

El codigo PHP es el siguiente

Código PHP:
   <?php
   


 
echo "ERROR:".is_uploaded_file($_FILES['userfile']['tmp_name']);
 echo 
"<br> otro:".print_r($_FILES).'<br>';
 if (
is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    
$nombre =  $_FILES['userfile']['name'];                //nombre con el que lo subió el usuario
    
$tipo =  $_FILES['userfile']['type'];                    //tipo de archivo (jpg,gif,rar,txt,etc)
    
$tamanio $_FILES['userfile']['size'];                //tamaño del archivo en Kb; 1024Kb = 1Mb
    
$error $_FILES['userfile']['error'];                //si aparecio algun error en la subida
    
$nombre_temporal $_FILES['userfile']['tmp_name'];    //Nombre temporal que se le asigna al archivo cuando sube a tu servidor
 
    
$carpeta 'escaneos/';
    
$nuevo_nombre 'Archivo_Subido'.date('Y-m-d H:i:s'); //le concatene la fecha del momento para que no se repita el nombre
 
        //Verifico que el nombre no este vacio
    
if(!empty($nombre)) {
 
            
//Verifico que no tenga ningun error
        
if($error==0){
 
                
//Reviso que el achivo sea del tipo ZIP o RAR;
            
if (strpos($tipo"rar") || strpos($tipo"zip")) { 
 
                    
//Reviso que el archivo pese menos de 5 Mb;
                
if ($tamanio_archivo 5120) { 
 
                        
//Verifico que pueda mover el archivo y cambiarle el nombre. 
                        //El archivo se guradara donde esta esta pagina
                    
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $nuevo_nombre)){ 
 
                        echo 
"El archivo subio."
                    }
                    else{
                        echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."
                    }
                }
                else{
                    echo 
"Error con el archivo. <br> El archivo pesa mas de 5Mb";
                }
            }
            else{
                echo 
"Error con el archivo. <br> El archivo no es ni del tipo zip ni rar";
            }
        }else{
        echo 
"Error con el archivo. <br> El archivotiene un error en la subida";
        }
    }
    else{
        echo 
"Error con el archivo. <br> El archivo no tiene nombre";
    }

}else{
echo 
"El archivo no subio correctamente";
}

//Desconexion DB
?>
Ya no se que hacer, estoy literal desesperado ya que no pasa de la linea


if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {

Estoy en debian, con PHP5, espero me puedan ayudar, ya busque en muchos lugares y no he encontrado nada.

Gracias!!
  #2 (permalink)  
Antiguo 03/08/2012, 18:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Cargar archivos

El código de error 2 se refiere al tamaño del archivo, puedes ver todos los mensajes de error en: http://php.net/manual/es/features.fi...oad.errors.php

Para verificar si hiciste los cambios correctamente sube un script al sitio sólo con lo siguiente:

Código PHP:
Ver original
  1. <?php

Ingresa desde el navegador y busca las opciones que modificaste, si no aparecen correctamente, entonces:

- No trabajaste sobre el php.ini adecuado
- No reiniciaste Apache
- Podrías estar en un servidor compartido donde no se permiten estas modificaciones
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 03/08/2012, 22:22
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Cargar archivos

Hola!!!

Muchas gracias!! sip cheque y efectivamente el error esta en el input

<input type="hidden" name="MAX_FILE_SIZE" value="5120">

Lo quite y listo!!!!!


MUCHAS GRACIAS!!!!!!!!!!!!!!!
  #4 (permalink)  
Antiguo 04/08/2012, 09:56
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Cargar archivos

Como dato, tanto MAX_FILE_SIZE y $_FILE['archivo´]['size'] es en BYTES no KILOBYTE, por lo tanto tus 5120 en realidad son 5kb en vez de 5mb =/
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: ficheros
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 03:45.