Foros del Web » Creando para Internet » HTML »

formulario HTML5 agregar imagenes

Estas en el tema de formulario HTML5 agregar imagenes en el foro de HTML en Foros del Web. Hola estoy haciendo un formulario en html y quiero dar la opcion de que la gente pueda enviar imagenes por lo que en el html ...
  #1 (permalink)  
Antiguo 22/01/2014, 15:50
 
Fecha de Ingreso: enero-2010
Mensajes: 116
Antigüedad: 14 años, 3 meses
Puntos: 0
formulario HTML5 agregar imagenes

Hola estoy haciendo un formulario en html y quiero dar la opcion de que la gente pueda enviar imagenes por lo que en el html puse:

...
<label for="imagen">Imágenes</label>
<input name="file" type="file" size="2mb"><br/>
...

Ahora quiero saber en php que debo poner para que me envie esa imagen???ç

gracias saludos.
  #2 (permalink)  
Antiguo 22/01/2014, 17:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: formulario HTML5 agregar imagenes

Hola:

php no envía la imagen (o el fichero que sea), sino la definición del formulario... en concreto el enctype y el método. Luego con php debes informarte de la variable $_FILES.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 23/01/2014, 10:06
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: formulario HTML5 agregar imagenes

La variable $_FILE, ademas vas a tener que usar la funcion move_uploaded_file
saludos
  #4 (permalink)  
Antiguo 23/01/2014, 13:53
 
Fecha de Ingreso: enero-2010
Mensajes: 116
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: formulario HTML5 agregar imagenes

Les dejo el codigo de como quedo y funciona para quienes lo esten necesitando:

HTML:

Código HTML:
Ver original
  1. <form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data">
  2.   <label for="nombre">Nombre:</label>
  3.  <input id="Nombre" type="text" name="Nombre" placeholder="Nombre y Apellido" required /><br/>
  4.  <label for="email">Email:</label>
  5.  <input id="email" type="email" name="email" placeholder="[email protected]" required />
  6.  <br>
  7.  <br/>
  8.  <label for="telefono">Teléfono</label>
  9.  <input type='text' name='telefono' id='telefono' value="Con Codigo de Area"
  10. onclick="if(this.value=='Con Codigo de Area') this.value=''" onblur="if(this.value=='') this.value='Con Codigo de Area'">
  11.  <label for="imagen">Imágenes</label>
  12.  <input name="archivo1" type="file" id="archivo1"><br/>
  13.  <label for="mensaje">Mensaje:</label>
  14.  <textarea id="mensaje" name="mensaje" placeholder="Mensaje" required></textarea><br/>
  15.  <input id="submit" type="submit" name="submit" value="Enviar" />
  16.  <h5>En el caso de enviar fotos, recuerde detallar en el campo mensajes para que sección es y dejar datos de contacto. El tamaño de la imagen debe ser menor a 2Mb.</h5>
  17. </form>

PHP:

Código PHP:
Ver original
  1. <?php
  2. function form_mail($sPara, $sAsunto, $sTexto, $sDe)
  3. {
  4. $bHayFicheros = 0;
  5. $sCabeceraTexto = "";
  6. $sAdjuntos = "";
  7.  
  8. if ($sDe)$sCabeceras = "From:".$sDe."\n";
  9. else $sCabeceras = "";
  10. $sCabeceras .= "MIME-version: 1.0\n";
  11. foreach ($_POST as $sNombre => $sValor)
  12. $sTexto = $sTexto."\n".$sNombre." = ".$sValor;
  13.  
  14. foreach ($_FILES as $vAdjunto)
  15. {
  16. if ($bHayFicheros == 0)
  17. {
  18. $bHayFicheros = 1;
  19. $sCabeceras .= "Content-type: multipart/mixed;";
  20. $sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";
  21.  
  22. $sCabeceraTexto = "----_Separador-de-mensajes_--\n";
  23. $sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
  24. $sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";
  25.  
  26. $sTexto = $sCabeceraTexto.$sTexto;
  27. }
  28. if ($vAdjunto["size"] > 0)
  29. {
  30. $sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
  31. $sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
  32. $sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
  33. $sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";
  34.  
  35. $oFichero = fopen($vAdjunto["tmp_name"], 'r');
  36. $sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
  37. $sAdjuntos .= chunk_split(base64_encode($sContenido));
  38. fclose($oFichero);
  39. }
  40. }
  41.  
  42. if ($bHayFicheros)
  43. $sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
  44. return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
  45. }
  46.  
  47. //cambiar aqui el email
  48. if (form_mail("[email protected]", $_POST["Mensaje desde la web"],
  49. "Los datos introducidos en el formulario son:\n\n", $_POST[email]))
  50. echo "
  51. <script language='javascript'>
  52. alert('Mensaje enviado, muchas gracias.');
  53. window.location.href = 'http://www.clickdisenos.com.ar/intermedia/contacto.html';
  54. </script>";
  55. ?>

Última edición por pzin; 23/01/2014 a las 15:41 Razón: formato código

Etiquetas: formulario, html5, imagenes, php
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 04:25.