Foros del Web » Programando para Internet » PHP »

Problema con descarga de ficheros y upload con php

Estas en el tema de Problema con descarga de ficheros y upload con php en el foro de PHP en Foros del Web. hola a todos hice un sistema es como la intranet de donde trabajo pero que los documentos que lleva, lo ponen los mismo trabajadores. asta ...
  #1 (permalink)  
Antiguo 02/12/2005, 06:43
Avatar de alexjnm  
Fecha de Ingreso: octubre-2004
Ubicación: cuba
Mensajes: 218
Antigüedad: 19 años, 5 meses
Puntos: 1
Problema con descarga de ficheros y upload con php

hola a todos hice un sistema es como la intranet de donde trabajo pero que los documentos que lleva, lo ponen los mismo trabajadores. asta hay todo funciona
el primer problema esta en que deseo que suban todo tipo de documentos y que no sean mayore de 5 MB esto fue lo que ise pero solo me suben los dos primeros los demas me los obia
Código PHP:
if (!strpos($tipo_archivo"zip") || strpos($tipo_archivo"ppt") || strpos($tipo_archivo"pdf") || strpos($tipo_archivo"doc") || strpos($tipo_archivo"rar") && ($tamano_archivo 5000000000)) {
     echo 
"La extensi&oacute;n o el tama&ntilde;o de los archivos no es correcta. Se permiten archivos<strong> .zip,pdf,ppt,rar o .doc </strong>y archivos de<strong> 5 MB </strong>como m&aacute;ximo.";
          exit;
    } 
la otra duda es que por ejemplo el usuario sube n .zip de 4 MB pero cuando lo voy a descargar solo me descarga 2 MB pero no me da error el fichero compactado y puedo ber lo que hay dentro

que podra ser eso
saludos Alexjnm
__________________
__________________________________________________ _________
A beses el camino mas largo es la solución mas eficaz :)
  #2 (permalink)  
Antiguo 02/12/2005, 16:54
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Yo haria las comprobaciones de otra manera con un array y asi se liaria menos la cosa prueba con este codigo:

Código PHP:
// el script recibe de un campo de formulario con este nombre
//<input name="archivo" type="file"> 

// preparampos los datos para subir el archivo 
$a_nombre$_FILES['archivo']['name'];
$a_tipo $_FILES['archivo']['type'];
$a_size $_FILES['archivo']['size'];
$a_temp $_FILES['archivo']['tmp_name'];

// comprobamos que exista un fichero, creo que se puede mejorar con isset
if($a_nombre==""){die("No ha seleccionado ningun archivo");}

//los tipos de archivos permitidos se comprueban metiendo en un array 
// los mime de los archivos que tu SI aceptas subir, por ejemplo...
$tipos = array("application/pdf","application/zip","application/msword");    

//comprobamos que sea uno de los archivos requeridos, mirando si esta //dentro de nuestro array $tipos
if(!in_array($a_tipo,$tipos)){ die ("No es un archivo con el formato requerido");}

// si no esta la carpeta la creamos
if (!is_dir($path)){mkdir($path0777);}

// designamos variables...
$archivo_ruta=$path.$a_nombre


// Comprobar que no exista en el servidor
if(file_exists ($archivo_ruta)){die("Hay un archivo con ese nombre en el servidor.");}

// comprobamos que esta en el directorio temporal
$result  =  is_uploaded_file($a_temp);
if(!
$result){die("No ha seleccionado ningun archivo.");}

// subir al servidor
if(!move_uploaded_file($archivo,$archivo_ruta)){die("El archivo no ha podido subirse al servidor, reportelo al administrador. Gracias");} 
Revisa la sintaxis porque programar sin los colores esta complicaillo.
Espero que te sirva
__________________
Ciao y suerte.

Última edición por Pleniluni0; 02/12/2005 a las 17:15
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 08:14.