Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/03/2015, 15:14
Avatar de lauser
lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Formulario de Subida de Archivo Remoto

Lo puedes hacer con db o sin ella, depende de tus necesidades. También lo puedes crear con un form y un php, algo así:
Código PHP:
Ver original
  1. <?
  2. // Configuración
  3. $folder = "uploads/"; // Carpeta a la que subir los archivos
  4. $maxlimit = 5000000; // Máximo límite de tamaño (en bits)
  5. $allowed_ext = "rar,jpg"; // Extensiones permitidas (usad una coma para separarlas)
  6. $overwrite = "no"; // Permitir sobreescritura? (yes/no)
  7.  
  8. $match = "";
  9. $filesize = $_FILES['userfile']['size']; // toma el tamaño del archivo
  10. $filename = strtolower($_FILES['userfile']['name']); // toma el nombre del archivo y lo pasa a minúsculas
  11.  
  12.  
  13. if(!$filename || $filename==""){ // comprueba si no se ha seleccionado ningún archivo
  14.    $error = "- Ningún archivo selecccionado para subir.<br>";
  15. }elseif(file_exists($folder.$filename) && $overwrite=="no"){ // comprueba si el archivo existe ya
  16.    $error = "- El archivo <b>$filename</b> ya existe<br>";
  17. }
  18.  
  19. // comprobar tamaño de archivo
  20. if($filesize < 1){ // el archivo está vacío
  21.    $error .= "- Archivo vacío.<br>";
  22. }elseif($filesize > $maxlimit){ // el archivo supera el máximo permitido
  23.    $error .= "- Este archivo supera el máximo tamaño permitido.<br>";
  24. }
  25.  
  26. $file_ext = preg_split("/\./",$filename);
  27. $allowed_ext = preg_split("/\,/",$allowed_ext);
  28. foreach($allowed_ext as $ext){
  29.    if($ext==$file_ext[1]) $match = "1"; // Permite el archivo
  30. }
  31.  
  32. // Extensión no permitida
  33. if(!$match){
  34.    $error .= "- Este tipo de archivo no está permitido: $filename<br>";
  35. }
  36.  
  37. if($error){
  38.    print "Se ha producido el siguiente error al subir el archivo:<br> $error"; // Muestra los errores
  39. }else{
  40.    if(move_uploaded_file($_FILES['userfile']['tmp_name'], $folder.$filename)){ // Sube el archivo
  41.       print "<b>$filename</b> se ha subido correctamente!"; // Mensaje de aviso, upload correcto
  42.    }else{
  43.       print "Error! Puede que el tamaño supere el máximo permitido por el servidor. Inténtelo de nuevo."; // error
  44.    }
  45. }
  46.  
  47. ?>
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-