El post que buscas se encuentra eliminado, pero este también te puede interesar

[Tutorial]Crear una Web para Subir Archivos[PHP]

[Tutorial]Crear una Web para Subir Archivos[PHP]
Hola a todos, En este tutorial vamos a aprender a hacer un upload o subida de archivos usando PHP, nuestro upload tendra la capacidad de filtrar los tipos de archivo y no permitir subidas de mas del tamaño que le definamos, en el ejemplo haremos un script PHP para subir imagenes y luego mostrarlas al usuario.

diseño


Estructura
web

Manejaremos una estructura como la de la imagen, es necesario crear una carpeta donde almacenaremos los archivos, le pondremos un nombre determinado(/subidas) que luego definiremos en el script (index.php):


PHP

HTML



<html>
<body>
<form action="" method="post" enctype="multipart/form-data">
    <label for="file">Sube un archivo:</label>
    <input type="file" name="archivo" id="archivo" />
    <input type="submit" name="boton" value="Subir" />
</form>
<div class="resultado">
<-- Aqui ira el codigo PHP -->
</div>
</body>
</html>


Es de vital importancia definir el atributo enctype=”multipart/form-data” en la etiqueta form; de no ser así el upload no funcionara, en div.resultado saldrán los mensajes de error o de éxito.

español


PHP

El código PHP lo incluiremos justo debajo del formulario dentro del div.resultado, empezamos identificando el momento en que el formulario es enviado y el resto guíense por los comentarios del código:



<?php
if(isset($_POST['boton'])){
    
// Hacemos una condicion en la que solo permitiremos que se suban imagenes y que sean menores a 20 KB
    
if ((($_FILES["archivo"]["type"] == "image/gif") ||
    (
$_FILES["archivo"]["type"] == "image/jpeg") ||
    (
$_FILES["archivo"]["type"] == "image/pjpeg")) &&
    (
$_FILES["archivo"]["size"] < 20000)) {
 
    
//Si es que hubo un error en la subida, mostrarlo, de la variable $_FILES podemos extraer el valor de [error], que almacena un valor booleano (1 o 0).
      
if ($_FILES["archivo"]["error"] > 0) {
        echo 
$_FILES["archivo"]["error"] . "";
      } else {
        
// Si no hubo ningun error, hacemos otra condicion para asegurarnos que el archivo no sea repetido
        
if (file_exists("archivos/" $_FILES["archivo"]["name"])) {
          echo 
$_FILES["archivo"]["name"] . " ya existe. ";
        } else {
         
// Si no es un archivo repetido y no hubo ningun error, procedemos a subir a la carpeta /archivos, seguido de eso mostramos la imagen subida
          
move_uploaded_file($_FILES["archivo"]["tmp_name"],
          
"archivos/" $_FILES["archivo"]["name"]);
          echo 
"Archivo Subido ";
          echo 
"<img src="archivos/".$_FILES["archivo"]["name"]."">";
        }
      }
    } else {
        
// Si el usuario intenta subir algo que no es una imagen o una imagen que pesa mas de 20 KB mostramos este mensaje
        
echo "Archivo no permitido";
    }
}
?>


sistema

CSS

Esta es la parte en que le damos un poco de diseño al formulario, no es necesaria esta pare para su correcto funcionamiento, solo si le quieren dar diseño ... esta parte de codigo la agregaremos entre las etiquetas HEAD


<style type="text/css">
.upload{
background:#e7e7e7;
box-shadow:0px 0px 10px black;
width:500px;
height:200px;
margin-right:auto;
margin-left:auto;
border-radius:20px;

}
form{
        margin: 126px auto 0;
        width: 225px;
    }
    label{
        display: block;
    }
    input[type="file"]{
        display: block;
        margin: 8px 0;
    }
    div.resultado{
        margin: 25px auto 0;
        width: 225px;
    }
    div.resultado img{
        border: 2px solid #EEEEEE;
        height: auto;
        width: 225px;
    }
</style>


crear

CÓDIGO COMPLETO



<html>
<head>
<style type="text/css">
.upload{
background:#e7e7e7;
box-shadow:0px 0px 10px black;
width:500px;
height:200px;
margin-right:auto;
margin-left:auto;
border-radius:20px;

}
form{
        margin: 126px auto 0;
        width: 225px;
    }
    label{
        display: block;
    }
    input[type="file"]{
        display: block;
        margin: 8px 0;
    }
    div.resultado{
        margin: 25px auto 0;
        width: 225px;
    }
    div.resultado img{
        border: 2px solid #EEEEEE;
        height: auto;
        width: 225px;
    }
</style>
</head>
<body>
<div class="upload">
<form action="" method="post" enctype="multipart/form-data">
    <br><br>Sube un archivo:
    <input type="file" name="archivo" id="archivo" /> <br>
    <input type="submit" name="boton" value="Subir" />
</form>
<div>
<div class="resultado">
<?php
if(isset($_POST['boton'])){
    
// Hacemos una condicion en la que solo permitiremos que se suban imagenes y que sean menores a 20 KB
    
if ((($_FILES["archivo"]["type"] == "image/gif") || 
    (
$_FILES["archivo"]["type"] == "image/jpeg") || 
    (
$_FILES["archivo"]["type"] == "image/pjpeg")) && 
    (
$_FILES["archivo"]["size"] < 20000)) {
    
    
//Si es que hubo un error en la subida, mostrarlo, de la variable $_FILES podemos extraer el valor de [error], que almacena un valor booleano (1 o 0).
      
if ($_FILES["archivo"]["error"] > 0) {
        echo 
$_FILES["archivo"]["error"] . "<br />";
      } else {
          
// Si no hubo ningun error, hacemos otra condicion para asegurarnos que el archivo no sea repetido
          
if (file_exists("archivos/" $_FILES["archivo"]["name"])) {
            echo 
$_FILES["archivo"]["name"] . " ya existe. ";
          } else {
           
// Si no es un archivo repetido y no hubo ningun error, procedemos a subir a la carpeta /archivos, seguido de eso mostramos la imagen subida
            
move_uploaded_file($_FILES["archivo"]["tmp_name"],
            
"archivos/" $_FILES["archivo"]["name"]);
            echo 
"Archivo Subido <br />";
            echo 
"<img src='archivos/".$_FILES["archivo"]["name"]."' />";
          }
      }
    } else {
        
// Si el usuario intenta subir algo que no es una imagen o una imagen que pesa mas de 20 KB mostramos este mensaje
        
echo "Archivo no permitido";
    }
}
?>
</div>
</body>
</html>


upload

subir
Sígueme y entérate de todos mis aportes!

taringa

tutorial


gratis
Te gusta el diseño web?... Únete! --> Diseño Web Pro
archivos

chucky55
[Tutorial]Crear una Web para Subir Archivos[PHP]

Fuentes de Información - [Tutorial]Crear una Web para Subir Archivos[PHP]

El contenido del post es de mi autoría, y/o, es un recopilación de distintas fuentes.

Dar puntos
225 Puntos
Votos: 31 - T!score: 7.5/10
  • 12 Seguidores
  • 19.070 Visitas
  • 71 Favoritos

25 comentarios - [Tutorial]Crear una Web para Subir Archivos[PHP]

@camife94 Hace más de 2 años +1
@annex_princess Hace más de 2 años
+5
@NISHOBAC Hace más de 2 años +1
no, genial che. Actualmente ando aprendiendo automáticamente php y mysql. Pero se muy poco hasta ahora, recién empiezo y me sirve demasiado. Gracias por el tuto
@Grabadordeseries Hace más de 2 años +3
Gracias
Ahora a hacer mi megaupload
@Ramnavarrete Hace más de 2 años
Excelente!!!
@metaltade Hace más de 2 años
¡Muy bueno! ¡+10!
@Xussof Hace más de 2 años
Buen post, pero no logro encontrar en que parte, en mi caso en un ubuntu server, se suben los archivos. He de pensar pues que se subiran en el directorio por defecto de apache?

Gracias
@jonnhy10 Hace más de 2 años +1
Che, y como hago si quiero que se pueda subir mas que solo imagenes?

PD: Buen Post +5 (los que me quedan)
@soyleo559 Hace más de 1 año
me guto!
@JohnesMaster Hace más de 1 año
Links para la Deep Web (Manual de Navegación)
@Vanishing_Light Hace más de 1 año
Buen post, debo 10
@web_master_187 Hace más de 1 año
esto me sera muy util, muchisimas gracias amigo!
@leoxxxxxido Hace más de 11 meses
Muchas gracias muy bueno, ademas me gusto el estilo que le diste gracias
@marfer1590 Hace más de 11 meses +1
Buena Gracias
@gusyanto Hace más de 11 meses
Muy bueno . No tenes idea como hacer para que las fotos se carguen , pero que se carguen en un determinado lugar " visual " de la web ? Ya que de esta manera, se cargan en una carpeta del host . Gracias
@CyberFrank Hace más de 10 meses
viejo en la parte de la decision ( if ($_FILES["archivo"]["error"] > 0) { ) me aparece un error cuando entro en la pagina me aparece esto

PHP
@masc_antonio Hace más de 9 meses +1
que tal, vos sabes como hago para poder subir archivos en ves de imágenes?
@masc_antonio Hace más de 9 meses
muy buen codigo, pero como le hago que suba archivos de texto (.txt,.doc,.dox,..pdf) e incluso subir archivos .zip? porfa gracias.....
@luis26x Hace más de 8 meses
como hago para poder subir archivos en ves de imágenes? para hacer mi megaupload pero para mi nada mas in cluso como hacer que tenga una contrasena de aseso que yo solo la tenga.
@YonierEspinosa Hace más de 5 meses
Gracias me ha servido, solo falta que haya una opción que diga. "Subír desde link" & quedaría chulisimo *-*. En fin... Excelente post.
@gulucc Hace más de 3 meses
amigo no me da lo copio a dreamweaver y la condicion no me la reconoce sopranoagencia.com/prueba.html
@DeepRed82 Hace 13 días
Increible aporte!!

Creía que sería mucho más complicado, pero es relatívamente sencillo!! Seguro que le saco provecho a esta funcionalidad!!
@Raxper Hace 13 días
¬¬