1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Explicacion con programacion de como subir un archivo a una Pagina Web

Tema en 'Programación y Diseño Web' iniciado por davidtorresruiz2004, 9 Jun 2008.

  1. davidtorresruiz2004

    davidtorresruiz2004 Usuario activo

    HTML:
     //Primero guardamos este codigo en un archivo PHP de nombre index.php:
     <form action="upload.php" method="post" enctype="multipart/form-data">
      
        <b>Enviar un nuevo archivo: </b>
        <br>
        <input name="userfile" type="file">
        <br>
        <input type="submit" value="Enviar">
    	</form> 
    HTML:
    // Luego guardamos este codigo en una carpeta llamada upload.php:
     <?
    // Configuración
    $folder = "uploads/"; // Carpeta a la que queremos subir los archivos
    $maxlimit = 5000000; // Máximo límite de tamaño (en bits)
    $allowed_ext = "rar,jpg"; // Extensiones permitidas (usad una coma para separarlas)
    $overwrite = "no"; // Permitir sobreescritura? (yes/no)
    
    $match = ""; 
    $filesize = $_FILES['userfile']['size']; // toma el tamaño del archivo
    $filename = strtolower($_FILES['userfile']['name']); // toma el nombre del archivo y lo pasa a minúsculas
    
    
    if(!$filename || $filename==""){ // mira si no se ha seleccionado ningún archivo
       $error = "- Ningún archivo selecccionado para subir.<br>";
    }elseif(file_exists($folder.$filename) && $overwrite=="no"){ // comprueba si el archivo existe ya
       $error = "- El archivo <b>$filename</b> ya existe<br>";
    }
    
    // comprobar tamaño de archivo
    if($filesize < 1){ // el archivo está vacío
       $error .= "- Archivo vacío.<br>";
    }elseif($filesize > $maxlimit){ // el archivo supera el máximo
       $error .= "- Este archivo supera el máximo tamaño permitido.<br>";
    }
    
    $file_ext = preg_split("/\./",$filename); // aquí no tengo claro lo que hace xD
    $allowed_ext = preg_split("/\,/",$allowed_ext); // ídem, algo con las extensiones
    foreach($allowed_ext as $ext){
       if($ext==$file_ext[1]) $match = "1"; // Permite el archivo
    }
    
    // Extensión no permitida
    if(!$match){
       $error .= "- Este tipo de archivo no está permitido: $filename<br>";
    }
    
    if($error){
       print "Se ha producido el siguiente error al subir el archivo:<br> $error"; // Muestra los errores
    }else{
       if(move_uploaded_file($_FILES['userfile']['tmp_name'], $folder.$filename)){ // Finalmente sube el archivo
          print "<b>$filename</b> se ha subido correctamente!"; //el mensaje que saldra cuando el archivo este subido
       }else{
          print "Error! Puede que el tamaño supere el máximo permitido por el servidor. Inténtelo de nuevo."; // Otro error
       }
    }
    
    ?>
    <form>
         <INPUT TYPE="button" VALUE="Atrás" onClick="history.back()">
    </form>
    HTML:
    y por ultimo creamos una carpeta llamada uploads que alli es donde se almacenaran todos los archivos de carga

    [​IMG]
     
  2.  
  3. yrduk

    yrduk Nuevo usuario

    creo que sería bueno que pusieras la fuente del "tutorial"
     
  4. mario1984

    mario1984 Nuevo usuario

    $file_ext = preg_split("/\./",$filename); -> lo q haces es ver la extension q tiene el archivo q sube

    $file_ext = preg_split("/\./",$filename); -> aqui recoge las extensiones q son permitidas y la guarda en una variable vectorial

    foreach($allowed_ext as $ext){
    if($ext==$file_ext[1]) $match = "1"; // Permite el archivo
    }

    esta funcion mira el numero de registros q tiene la variable vectorial anterior, hace un for con el numero de registros q tiene y pasando su contenido en cada pasada de dicha variable a otra llamada $ext hace una comparacion con la extension del archivo q se sube.
    si coincide te devuelve un uno sino y se procedera la subida. en caso de q de error te lo dira.
    si no coincide te dara un error de archivo no permitido para subir.

    por cierto. buen aporte. podrias hacer referencia a la fuente.
    gracias a los dos
     
  5. victor5053

    victor5053 Nuevo usuario

    Gracias por el aporte esta funcionando en mi web, yo hice de imagenes la subida, solo quiero saber como hacer una pagina donde se puedan mostrar esas imagenes y se actualize dependiendo la cantidad de imagenes subidas por los usuarios.

    te dejo mi email, lo necesito urgente.

    De antemano gracias mario1984 y davidtorrezruiz.

    Saludos
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·