Código de PHP - Subir uno o varios archivos al servidor y mover-los a una carpeta

Imágen de perfil
Val: 1.009
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Subir uno o varios archivos al servidor y mover-los a una carpetagráfica de visualizaciones


PHP

Actualizado el 28 de Diciembre del 2017 por Xavi (548 códigos) (Publicado el 10 de Enero del 2014)
108.232 visualizaciones desde el 10 de Enero del 2014
simple código que muestra como subir uno o varios archivos, y guardarlos en una carpeta de nuestro servidor.

Para este ejemplo, solo se permite subir archivos de imagenes del tipo: jpg, png y gif
Se especifica en esta linea:
1
if($_FILES["archivo"]["type"][$i]=="image/jpeg" || $_FILES["archivo"]["type"][$i]=="image/pjpeg" || $_FILES["archivo"]["type"][$i]=="image/gif" || $_FILES["archivo"]["type"][$i]=="image/png")

Si se comenta esta linea, se permitirá subir cualquier tipo de archivo... o si se quiere especificar cualquier otro tipo, tendrás que indicar el tipo mime del archivo...

Aquí tienes un listado de todos los formatos mimetype:
http://www.freeformatter.com/mime-types-list.html

Versión 1
estrellaestrellaestrellaestrellaestrella(83)

Actualizado el 11 de Febrero del 2018 (Publicado el 10 de Enero del 2014)gráfica de visualizaciones de la versión: Versión 1
108.233 visualizaciones desde el 10 de Enero del 2014
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>Subir una o varias imagenes al servidor</title>
</head>
 
<body>
    <?php
    # definimos la carpeta destino
    $carpetaDestino="imagenes/";
 
    # si hay algun archivo que subir
    if(isset($_FILES["archivo"]) && $_FILES["archivo"]["name"][0])
    {
 
        # recorremos todos los arhivos que se han subido
        for($i=0;$i<count($_FILES["archivo"]["name"]);$i++)
        {
 
            # si es un formato de imagen
            if($_FILES["archivo"]["type"][$i]=="image/jpeg" || $_FILES["archivo"]["type"][$i]=="image/pjpeg" || $_FILES["archivo"]["type"][$i]=="image/gif" || $_FILES["archivo"]["type"][$i]=="image/png")
            {
 
                # si exsite la carpeta o se ha creado
                if(file_exists($carpetaDestino) || @mkdir($carpetaDestino))
                {
                    $origen=$_FILES["archivo"]["tmp_name"][$i];
                    $destino=$carpetaDestino.$_FILES["archivo"]["name"][$i];
 
                    # movemos el archivo
                    if(@move_uploaded_file($origen, $destino))
                    {
                        echo "<br>".$_FILES["archivo"]["name"][$i]." movido correctamente";
                    }else{
                        echo "<br>No se ha podido mover el archivo: ".$_FILES["archivo"]["name"][$i];
                    }
                }else{
                    echo "<br>No se ha podido crear la carpeta: ".$carpetaDestino;
                }
            }else{
                echo "<br>".$_FILES["archivo"]["name"][$i]." - NO es imagen jpg, png o gif";
            }
        }
    }else{
        echo "<br>No se ha subido ninguna imagen";
    }
    ?>
 
    <form action="<?php echo $_SERVER["PHP_SELF"]?>" method="post" enctype="multipart/form-data" name="inscripcion">
        <input type="file" name="archivo[]" multiple="multiple">
        <input type="submit" value="Enviar"  class="trig">
    </form>
</body>
</html>



Comentarios sobre la versión: Versión 1 (83)

we
1 de Diciembre del 2014
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
binario
18 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
la variable $user de la lina 38 no esta dfinida... aun asi .. se puede utilizar el codigo para subir multipels imagenes... la clave esta en el ciclo de repeticion for.. que funsiona de maravilla
Responder
6 de Enero del 2015
estrellaestrellaestrellaestrellaestrella
gracias, lo voy a probar
Responder
hector
3 de Febrero del 2015
estrellaestrellaestrellaestrellaestrella
hola a todos este código es bastante simple liviano y funciona perfectamente felicitaciones al autor del mismo
Responder
Jose
18 de Marzo del 2015
estrellaestrellaestrellaestrellaestrella
esta buenisimo y muy sencillo felicidades!!!
Responder
genial
6 de Mayo del 2015
estrellaestrellaestrellaestrellaestrella
Gracias por el aporte. @ivanolete
Responder
mmmm
8 de Junio del 2015
estrellaestrellaestrellaestrellaestrella
Malo, no sirve.
Responder
hal
29 de Agosto del 2015
estrellaestrellaestrellaestrellaestrella
muy buen codigo gracias!
Responder
JHON MENDEZ
6 de Septiembre del 2015
estrellaestrellaestrellaestrellaestrella
Código muy bueno!, funcionó perfecto, gracias
Responder
Max
10 de Septiembre del 2015
estrellaestrellaestrellaestrellaestrella
Muchas gracias me sirvió de mucho
Responder
Miguel
16 de Septiembre del 2015
estrellaestrellaestrellaestrellaestrella
Muchas gracias por el código, es sencillo pero practico, y funciona perfectamente, me sirvió mucho.
Responder
Freddy
2 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Consulta. a este código como puedo hacer para que la imagen se grabe en dos carpetas de destino. ojala me puedan ayudar. Gracias
Responder
hugo
5 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
excelente a porte colega muy funcional
Responder
Imágen de perfil
10 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Amigo necesito ese código pero cuando lo ejecuto me dice undefined index: archivo en línea 13
Responder
Imágen de perfil
12 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Danny, entiendo que es un Warning de PHP... prueba a reemplazar la linea 13 por esta:

1
if(isset($_FILES["archivo"]) && $_FILES["archivo"]["name"][0])

Coméntanos si soluciona el problema, ok?
Responder
Imágen de perfil
13 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Gracias amigo ya me funciona perfectamente con la ultima modificacion de la linea 13
Responder
asd
13 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
y si quiero subir un archivo .bat como es
Responder
pues muy facil ponle al final la extension .bat
18 de Septiembre del 2017
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
asd
13 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Xavi, me pasarias el codigo que tengo q reemplazar para que me permita subir un archivo ".bat" por favor!
Responder
Imágen de perfil
13 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Hola, para utilizar archivos .bat, creo que tienes que cambiar la linea: 13
1
if($_FILES["archivo"]["type"][$i]=="image/jpeg" || $_FILES["archivo"]["type"][$i]=="image/pjpeg" || $_FILES["archivo"]["type"][$i]=="image/gif" || $_FILES["archivo"]["type"][$i]=="image/png")

por esta:
1
if($_FILES["archivo"]["type"][$i]=="application/bat" || $_FILES["archivo"]["type"][$i]=="application/x-bat" || $_FILES["archivo"]["type"][$i]=="application/x-msdos-program" || $_FILES["archivo"]["type"][$i]=="application/textedit" || $_FILES["archivo"]["type"][$i]=="application/octet-stream")

No lo he probado, pero son los MimeType que he encontrado en esta página: http://filext.com/file-extension/bat

Coméntame si te funciona, ok?
Responder
asd
13 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Genio Xavi! Ahora Si me coge archivos ".bat" correctamente, acabo de hacer la prueba, antes me cogía solo imágenes pero con esa modificación que me diste me toma archivos .bat !!!!... Gracias por responder, luego me registro en la web y veo en que puedo aportar.
Responder
ADG
9 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Me parece muy bien tu codigo pero solo acepta 4 archivos y me gustaria que aceptara mas de 100 alguien me podria ayudar soy nueva en esto
Responder
matias
9 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Hola bestia, quisiera saber como hacer para poder subir archivos rar ya que no encuentro la forma no se como se escribe el type, gracias!!
Responder
Imágen de perfil
10 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Matias para .rar y .zip, serian:

.rar - application/x-rar-compressed, application/octet-stream
.zip - application/zip, application/octet-stream
Responder
Caff
10 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
HOla Alguien me podra ayudar para subir mas de 100 archivos ya que probe este codigo y solo aceptan 4 porfa necesito ayudaaa soy nueva en esto
Responder
Imágen de perfil
10 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Caff, el sistema no limita el numero de archivos... puede subir los que quieras siempre y cuando tu servidor web lo permita.
Por defecto tienen un limite de 2Mb, por lo que si sobrepasas ese tamaño, tendrás que aumentarlo en la configuración del php.

En los foros de PHP de esta página, se explica como hacerlo.
Responder
Caff
10 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
aaah ok entonces puedo subir mas de 100 archivos?? y gracias Xavi y buscare el siguiente foro que me dices
Responder
Caff
10 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Xavi una pregunta en donde se encuentra o como se llama el foro que me habías comentado para la configuración ya que no lo encuentro.
Responder
CAFFNES
30 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Xavi una pregunta para subir PDF y XML con que type se utiliza ??
Responder
salva
31 de Marzo del 2016
estrellaestrellaestrellaestrellaestrella
Hola Xavi para poder subir archivos pdf como seria?
Responder
9 de Abril del 2016
estrellaestrellaestrellaestrellaestrella
para pdf y XML

1
if($_FILES["archivo"]["type"][$i]=="text/xml" || $_FILES["archivo"]["type"][$i]=="application/pdf")
Responder
Antonella
15 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
Funciona perfecto pero me gustaría saber como limitarlo para que suba como máximo 6 imágenes
Responder
Julián
15 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
Hola! muy bueno! pero cómo debería ser el campo de la tabla en la base de datos donde se guarde la ruta de cada imagen? cómo sería el sql INSERT?
Responder
Luis
15 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
Hola que tal, llevo horas buscando un codigo similar a este que me funcione y no hay nada que lo haga, solo me sube de a una foto
Responder
MJC
3 de Julio del 2016
estrellaestrellaestrellaestrellaestrella
Hola Xavi...
Disculpa si necesito subir videos como quedaria modificado.....
Por favor, me urge!!!
Gracias!!
Responder
Imágen de perfil
4 de Julio del 2016
estrellaestrellaestrellaestrellaestrella
Hola MJC, para ello, tendrás que modificar el formato de archivo que esperas... por ejemplo, para la versión actual, solo espera imágenes...

1
if($_FILES["archivo"]["type"][$i]=="image/jpeg" || $_FILES["archivo"]["type"][$i]=="image/pjpeg" || $_FILES["archivo"]["type"][$i]=="image/gif" || $_FILES["archivo"]["type"][$i]=="image/png")

Puedes quitar esta linea y te permitirá cualquier tipo de archivo... o indica el tipo de archivo que deseas que te permita subir.
Responder
11 de Agosto del 2016
estrellaestrellaestrellaestrellaestrella
Hola, muy buen ejemplo pero sabes como es posible subir una imagen con nombre, es decir, ejemplo.jpg
y si subo otra llamada con su mismo nombre, como hago para que no la reemplaze y suba ambas imagenes pero sin que se duplique el nombre??
Responder
Cristian Fontalvo
11 de Agosto del 2016
estrellaestrellaestrellaestrellaestrella
hola xavi,

tengo una duda, quisiera que el archivo se guarde dentro de una carpeta del disco c, ya que no he logrado cambiar la carpeta me muestra un erros cuando cambio el lugar. te agradecería tu ayuda
Responder
Alekz
22 de Agosto del 2016
estrellaestrellaestrellaestrellaestrella
Bueno no se si es lo que quieres pero yo cree una variable para usar creacion de carpeta dinamicamente

1
2
3
4
$nombre_carpeta=$_request['codigo_usuario']; //aqui requiere el nombre enviado de una pagina anterior
 
# definimos la carpeta destino
$carpetaDestino="imagenes/$nombre_carpeta/";
Responder
Rhonny Zamora
23 de Agosto del 2016
estrellaestrellaestrellaestrellaestrella
Saludos amigo excelente código. Muy útil y bien explicado. Me sirve perfecto con fotos y archivos pequeños pero subiendo videos de 60-70 mb no completa la subida. Mas sin embargo por FTP si lo hace. ALguna idea? Gracias de antemano.
Responder
ilka
7 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
como podria ingresar solicitar un nombre y que con ese nombre que ingresa la persona la imagen que se sube sea el mismo nombre ingresado ?
Responder
phpprogramer
15 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
hola antes que nada muy linda pagina una consulta hay forma de cancelar todos los archivos subidos si un archivo tiene una extencion que no sean la permitida ya que si el usuario sube dos imagenes y una incorrecta las dos primeras imagenes se guardan en la carpeta ocupando espacio
Responder
Imágen de perfil
15 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
Hola, lo que tendrías que hacer antes de la linea 16, es hacer un bucle que revise que todas las extensiones cumplan con su cometido antes de seguir el código y mover-los a tus carpetas.

Algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>Subir una o varias imagenes al servidor</title>
</head>
 
<body>
    <?php
    # definimos la carpeta destino
    $carpetaDestino="imagenes/";
 
    # si hay algun archivo que subir
    if($_FILES["archivo"]["name"][0])
    {
 
        # variable que determina si todos los archivos subidos tienen el formato
        # correcto
        $formatoCorrecto=true;
 
        # recorremos todos los arhivos que se han subido para verificar que
        # tienen una extensión correcta antes de moverlos a nuestra carpeta
        for($i=0;$i<count($_FILES["archivo"]["name"]);$i++)
        {
            # si es un formato de imagen
            if($_FILES["archivo"]["type"][$i]=="image/jpeg" || $_FILES["archivo"]["type"][$i]=="image/pjpeg" || $_FILES["archivo"]["type"][$i]=="image/gif" || $_FILES["archivo"]["type"][$i]=="image/png")
            {
 
                # Indicamos que algun archivo tiene un formato erroneo
                $formatoCorrecto=false;
 
                echo "<br>".$_FILES["archivo"]["name"][$i]." - NO tiene un formato correcto";
            }
        }
 
        if($formatoCorrecto)
        {
            # recorremos todos los arhivos que se han subido para moverlos a nuestra carpeta
            for($i=0;$i<count($_FILES["archivo"]["name"]);$i++)
            {
 
                # si exsite la carpeta o se ha creado
                if(file_exists($carpetaDestino) || @mkdir($carpetaDestino))
                {
                    $origen=$_FILES["archivo"]["tmp_name"][$i];
                    $destino=$carpetaDestino.$_FILES["archivo"]["name"][$i];
 
                    # movemos el archivo
                    if(@move_uploaded_file($origen, $destino))
                    {
                        echo "<br>".$_FILES["archivo"]["name"][$i]." movido correctamente";
                    }else{
                        echo "<br>No se ha podido mover el archivo: ".$_FILES["archivo"]["name"][$i];
                    }
                }else{
                    echo "<br>No se ha podido crear la carpeta: up/".$user;
                }
            }
        }
    }else{
        echo "<br>No se ha subido ninguna imagen";
    }
    ?>
 
    <form action="<?php echo $_SERVER["PHP_SELF"]?>" method="post" enctype="multipart/form-data" name="inscripcion">
        <input type="file" name="archivo[]" multiple="multiple">
        <input type="submit" value="Enviar"  class="trig">
    </form>
</body>
</html>
Responder
dantesito
15 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
hola gracias por la pronta respuesta mira estube implementando tu codigo y resulta que si subo cualquier tipo de imagen siempre me dice que tiene un formato erroneo y si no subo nada funciona lo mas bien.
Responder
mariano
15 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
tambien tengo otra duda ya que si subo una imagen este no me deja pero si subo cualquier tipo de archivo si y la otra es que si subo una archivo que no sea imagen crea una carpeta con el mismo nombre del archivo desde ya gracias espero tu respuesta saludos
Responder
Josshua
23 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
Hola, quisiera me explicaras la linea 10
$carpetaDestino="archivos prueba/"; <<---- hice una carpeta prueba en el escritorio con este nombre
solo que al momento de dale click en el boton enviar, me manda a una pagina que no se encuentra y no sube nada a la carpeta... saludos
Responder
nancy
20 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
Muchísimas gracias!!!!
Responder
lhuis
14 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
Hola, para subir varios archivos que están en diferentes formatos por ejemplo .jpg .mp3 .mp4 .docx. Gracias, desde luego.
Responder
ney
8 de Abril del 2017
estrellaestrellaestrellaestrellaestrella
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
 
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
 
	$NombreArchivoServidor= $_FILES['Imagen']['name'];
 
  $insertSQL = sprintf("INSERT INTO productos (Nombre, Descripcion, Precio, cantidad, Imagen) VALUES (%s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['Nombre'], "text"),
                       GetSQLValueString($_POST['Descripcion'], "text"),
                       GetSQLValueString($_POST['Precio'], "double"),
                       GetSQLValueString($_POST['cantidad'], "int"),
                       GetSQLValueString($NombreArchivoServidor, "text"));
 
  mysql_select_db($database_Miconexion, $Miconexion);
  $Result1 = mysql_query($insertSQL, $Miconexion) or die(mysql_error());
 
  if($Result1){
 
	 move_uploaded_file($_FILES['Imagen']['tmp_name'],"../imagenesProductos/".$NombreArchivoServidor);
 
	 }
 
 
  $insertGoTo = "InsertarProductos.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
 
if ((isset($_GET['Clave'])) && ($_GET['Clave'] != "")) {
  $deleteSQL = sprintf("DELETE FROM productos WHERE Clave=%s",
                       GetSQLValueString($_GET['Clave'], "int"));
 
  mysql_select_db($database_Miconexion, $Miconexion);
  $Result1 = mysql_query($deleteSQL, $Miconexion) or die(mysql_error());
}
 
$maxRows_Recordset1 = 10;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
 
mysql_select_db($database_Miconexion, $Miconexion);
$query_Recordset1 = "SELECT * FROM productos ORDER BY Clave DESC";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $Miconexion) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
 
if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
 
$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false &&
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
 
<body>
<p>&nbsp;</p>
<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" name="form1">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Nombre:</td>
      <td><input type="text" name="Nombre" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Descripcion:</td>
      <td>
      <!----
      <p>
      <input type="text" name="Descripcion" value="" size="32">
      </p>
       ------>
      <label for="Descripcion2"></label>
      <textarea name="Descripcion" id="Descripcion2"></textarea>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Precio:</td>
      <td><input type="text" name="Precio" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Cantidad:</td>
      <td><input type="text" name="cantidad" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Imagen:</td>
      <td>
      <!---
      <p>
      <input type="text" name="Imagen" value="" size="32">
      </p>
      --->
      <label for="Imagen"></label>
      <input type="file" name="Imagen" id="Imagen"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Insertar registro"></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1">
</form>
<p>&nbsp;<?php echo ($startRow_Recordset1 + 1) ?></p>
<p>&nbsp;
<table border="0">
  <tr>
    <td><?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
        <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0, $queryString_Recordset1); ?>">Primero</a>
    <?php } // Show if not first page ?></td>
    <td><?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
        <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, max(0, $pageNum_Recordset1 - 1), $queryString_Recordset1); ?>">Anterior</a>
    <?php } // Show if not first page ?></td>
    <td><?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
        <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1); ?>">Siguiente</a>
    <?php } // Show if not last page ?></td>
    <td><?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
        <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, $totalPages_Recordset1, $queryString_Recordset1); ?>">&Uacute;ltimo</a>
    <?php } // Show if not last page ?></td>
  </tr>
</table>
</p>
<p>&nbsp;</p>
<table align="center">
  <tr>
    <td>Borrar</td>
    <td>Editar</td>
    <td><strong>Clave</strong></td>
    <td><strong>Nombre</strong></td>
    <td><strong>Descripcion</strong></td>
    <td><strong>Precio</strong></td>
    <td><strong>Cantidad</strong></td>
    <td><strong>Imagen</strong></td>
  </tr>
  <?php do { ?>
    <tr>
      <td><a href="InsertarProductos.php?Clave=<?php echo $row_Recordset1['Clave']; ?>">Borrar</a></td>
      <td><a href="EditarProductos.php?ClaveEditar=<?php echo $row_Recordset1['Clave']; ?>">Editar</a></td>
      <td><?php echo $row_Recordset1['Clave']; ?></td>
      <td><?php echo $row_Recordset1['Nombre']; ?></td>
      <td><?php echo $row_Recordset1['Descripcion']; ?></td>
      <td><?php echo $row_Recordset1['Precio']; ?></td>
      <td><?php echo $row_Recordset1['cantidad']; ?></td>
      <td><?php echo $row_Recordset1['Imagen']; ?></td>
    </tr>
    <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
Responder
ney
8 de Abril del 2017
estrellaestrellaestrellaestrellaestrella
tengo problemas para subir múltiples imágenes
Responder
Jose
19 de Abril del 2017
estrellaestrellaestrellaestrellaestrella
Hola, felicitaciones por el código está muy bueno…

Una consulta, ¿Cómo aria para que se limite el número de archivos seleccionados?... Por ejemplo: para que solo se pueda subir máximo 20 imágenes a la vez, y mostrar algún mensaje de advertencia, avisando que se seleccionaron más de lo permitido y que solo se subirán 20 archivos.

Gracias.
Responder
Iván
22 de Abril del 2017
estrellaestrellaestrellaestrellaestrella
Estoy haciendo un proyecto para la escuela, y estoy tratando de subir una imagen y un vídeo. ¿Cómo guardo la URL de los dos archivos en la base de datos (un campo para la foto y otro para el vídeo)?
Responder
26 de Mayo del 2017
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
jones ospino
30 de Agosto del 2017
estrellaestrellaestrellaestrellaestrella
Hola, gracias por la ayuda, pero un cliente me pide subir un archivo con la extension .ask. como podria hcerlo ya que comento la linea que dices pero no hace nada, no muestra nada la paguina con solo llamarla
Responder
tin
14 de Diciembre del 2017
estrellaestrellaestrellaestrellaestrella
alguein sabria decirme como se podian crear carpetas y guardarlas en BBDD mysql con php ?
Responder
MaxBelt
26 de Enero del 2018
estrellaestrellaestrellaestrellaestrella
Simple, elegante, simétrico y lo entendí a la perfección. Gracias
Responder
Juan Gabriel
6 de Junio del 2018
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
Juan Gabriel
19 de Junio del 2018
estrellaestrellaestrellaestrellaestrella
Y si quiero eliminar imagenes del as que ya he subido?, imagenes que se encuentran en carpetas del servidor y no en la base de datos?
Responder
Yaya
28 de Julio del 2018
estrellaestrellaestrellaestrellaestrella
Hola hay alguna forma de definir que solo se puedan subir por ejemplo 7 archivos ??? Te agradecería mucho si me ayudas :)
Responder
andres
11 de Diciembre del 2018
estrellaestrellaestrellaestrellaestrella
hola bnas excelente codigo...pero sabes me dice que no se puede no se puede mover el archivo y lo esta el codigo como tu lo creaste...pero no me deja guardar la imagenes
Responder
Roberto
1 de Febrero del 2019
estrellaestrellaestrellaestrellaestrella
Muchas gracias por tu predisposición a ayudar con éste excelente aporte, me ayudó muchísimo !!!!
Responder
Alfred
5 de Febrero del 2019
estrellaestrellaestrellaestrellaestrella
Hola tengo una consulta, cuando deseo guardar las rutas de las imagenes en una bd lo guarda en dos filas distintas como hago para que solo sea en una
Responder
luis
8 de Abril del 2019
estrellaestrellaestrellaestrellaestrella
genial tu codigo, me podrias ayudar como puedo condigurar la linea de codigo para subir arqchivos excel y word... he intentado con etos miME TYPE PERO ME DICE QUE NO ES VALIDO


$_FILES["archivo"]["type"][$i]=="application/vnd.ms-excel" || $_FILES["archivo"]["type"][$i]=="application/msword"
Responder
Juan
27 de Mayo del 2020
estrellaestrellaestrellaestrellaestrella
Funciona muy bien. Pocas líneas y mucha utilidad. Gracias, viejo.
Responder
Chiara
20 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
Muchas gracias por tu aporte!! Me ayudo muchisimo!
Responder
Cloe56
4 de Enero del 2021
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
carmen
1 de Marzo del 2021
estrellaestrellaestrellaestrellaestrella
muy bueno el codigo gracias me ayudo bastante el problema que tengo es que quiero que la imagen se visualize para ello estoy usando el siguiente codigo
1
2
3
4
5
6
7
8
9
<div class="col-md-2">
    <img id="uploadPreview2" class="img-responsive" width="150" height="150" src="imagenes/7.png" />
</div>
<div class="form-group col-md-10">
    <label><b>Certificado de Nacimiento </b></label>
    <input class="form-control" id="uploadImage2" type="file" name="archivo[]" onchange="previewImage(2);" />
    <input type="submit" value="OJALA GUARDE"  class="trig">
 
</div>
todo me funciona bien pero ni muestra la imagen
gracias por su ayuda
Responder
mini3
27 de Mayo del 2021
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
donald56
17 de Septiembre del 2021
estrellaestrellaestrellaestrellaestrella
This site was great my friend suggested this site it is very informative and thank you to give us such information I also having a site that helps you in compress your large file to small and easy to share with friends and the software on this site is called WinRAR for that visit WinRAR
Responder
John
27 de Septiembre del 2021
estrellaestrellaestrellaestrellaestrella
Thank you for posting such a great article! I found your website perfect essay writing service of needs. Btw I am a gamer and I would like to suggest to you a Autoclicker.https://www.vingle.net/posts/3714123
Responder
Josh
28 de Septiembre del 2021
estrellaestrellaestrellaestrellaestrella
Thank you because you have been willing to share information with us. we will always appreciate all you have done here. Btw I am a gamer and I would like to suggest to you an Autoclicker
Responder
Andre Collin
5 de Octubre del 2021
estrellaestrellaestrellaestrellaestrella
Found your blog really interesting. Written in positive manner. Liked it very much. Also you can check a software for compress your data and files and protect them from damage named Winrar
Responder
Winrar Download
12 de Octubre del 2021
estrellaestrellaestrellaestrellaestrella
I like this blog very much. It really inspires me. It provide more useful and interesting information. Thanks for it. I would like to suggest you a winrar download for Compressing and archive files and data.
Responder
nick786
20 de Octubre del 2021
estrellaestrellaestrellaestrellaestrella
Thank you for sharing such a nice and interesting blog with us. I have seen that all will say the same thing repeatedly. But in your blog, I had a chance to get some useful and unique information. I have something for you to compress and archive you data. Winrar
Responder
Winrar
20 de Octubre del 2021
estrellaestrellaestrellaestrellaestrella
Thank you for sharing such a nice and interesting blog with us. I have seen that all will say the same thing repeatedly. But in your blog, I had a chance to get some useful and unique information. I have something for you to compress and archive you data. Winrar
Responder
BSL Shaders
23 de Octubre del 2021
estrellaestrellaestrellaestrellaestrella
You are constantly giving us useful and knowledgeable information thank you for this. And you can also check BSL Shaders. It provides Shaders packs for Minecraft. You can check it.<a href= "https://morioh.com/p/cee702c8d2a3?f=616fe6ebe1fd3d580d9e81e7"> BSL Shaders </a>
Responder
BSL Shaders
23 de Octubre del 2021
estrellaestrellaestrellaestrellaestrella
You are constantly giving us useful and knowledgeable information thank you for this. And you can also check [u=https://morioh.com/p/cee702c8d2a3?f=616fe6ebe1fd3d580d9e81e7]BSL Shaders[/u]. It provides Shaders packs for Minecraft. You can check it.
Responder
BSL Shaders
23 de Octubre del 2021
estrellaestrellaestrellaestrellaestrella
You are constantly giving us useful and knowledgeable information thank you for this. And you can also check BSL Shaders. It provides Shaders packs for Minecraft. You can check it.
<a href= "https://morioh.com/p/cee702c8d2a3?f=616fe6ebe1fd3d580d9e81e7"> BSL Shaders </a>
Responder
Albert77
7 de Enero del 2022
estrellaestrellaestrellaestrellaestrella
You're in point of fact a just right webmaster. The site loading velocity is amazing. It kind of feels that you're doing any unique trick. Also, The contents are masterwork. you have done a wonderful task on this topic! I am glad to share a brilliant post about BSL Shaders 1.14.4 for minecraft. I hope you will really enjoy this shader pack.
Responder
Rosario70
11 de Enero del 2022
estrellaestrellaestrellaestrellaestrella
Je tiens à vous remercier pour votre temps de cette merveilleuse lecture!!! J'apprécie vraiment chaque petit morceau et je vous ai mis en signet pour découvrir de nouvelles choses de votre blog. Ici, j'ai l'un des meilleurs outils pour Fusionner des PDF et les convertir en PDF dans n'importe quel format.
Responder
Laurence Daniyel
10 de Mayo del 2022
estrellaestrellaestrellaestrellaestrella
Great blog. If you are searching for cool games emulator to bost your pc then I would like to refer the best i.e Dolphin emulator This helps in enhancing your gaming experience and I sure that you will enjoy it well.To get click on <a href= "https://addons.mozilla.org/en-US/firefox/user/17349683/"> pc emulator </a>
Responder
Diane Thomas
26 de Enero del 2024
estrellaestrellaestrellaestrellaestrella
I thoroughly enjoyed reading your content! It's both informative and engaging. As someone who appreciates quality content, I thought I'd share a valuable tool with you - OBS Studio. It's a fantastic software for content creators, allowing you to capture, record, and live stream seamlessly. It might enhance your content even further! Keep up the great work! OBS Studio Download
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2580