Formulario de Contacto PHP Gratis v2: Permitir al Usuario Enviar un Archivo

Debido a algunas consultas que recibí preguntando cómo se podía hacer para adjuntar un archivo en el email, utilizando como base el formulario de contacto, decidí preparar esta v2.

Opté por realizar un upload de archivo al servidor en donde está alojado el formulario, y luego enviar el mail de contacto con un link para descargar el archivo. Funciona bien, y me parece mas apropiado para evitar descargar emails con archivos adjuntos de gran tamaño.

En la configuración del script, podemos indicar el tamaño máximo permitido del archivo, los formatos que vamos a permitir subir a los usuarios – en este caso están habilitados: .jpg, .gif, .png y .zip, pero pueden habilitarse otros – la ruta a la carpeta donde se guardarán los archivos, y el email a donde vamos a recibir el formulario.

Luego de subir el formulario al servidor, debemos crear una carpeta donde se guardarán los archivos (en este caso, creativamente la he llamado “archivos“). Es necesario que esta carpeta de uploads tenga permisos de lectura y escritura. Esto se configura a través de un cliente de FTP o de SSH, asignándole CHMOD 777.

Pueden ver un ejemplo del formulario acá. Están deshabilitados tanto el upload de archivos como la notificación por email.

Espero que les sirva.

Descargar Formulario v2

Esta entrada fue publicada en PHP y etiquetada , , . Guarda el enlace permanente.

28 respuestas a Formulario de Contacto PHP Gratis v2: Permitir al Usuario Enviar un Archivo

  1. leo dice:

    Excelente formulario lo recomiendo mucho

  2. Sebastian dice:

    hola Alfonso: primero que nada te quiero felicitar por este tremendo formulario, me ha gustado y ayudado mucho, pero quiero pedirte un favor si es posible. como lo hago para que el archivo que suba se aloje directamente en mi cuenta de correo y no en la carpeta raiz del ftp? seria de gran ayuda que me dijieras.
    gracias

  3. Alfonso dice:

    Hola Leo, gracias por tu comentario!

    Sebastian, debido a un par de pedidos que me han llegado, ya estoy preparando la V3 del formulario, que en vez de subir la imagen al servidor va a adjuntar el archivo en el correo.
    En algunos dias seguramente lo voy a publicar.
    Un saludo

  4. Sebastian dice:

    Gracias alfonso, esperare con ganas que lo tengas listo.
    saludos

  5. sebastian dice:

    alfonso quisiera saber, si ya estas proximo a poner la version 3 del formulario de contacto, ya que realmente lo necesito urgente.
    gracias

  6. Alfonso dice:

    hola sebastian, he estado un poco atascado en el trabajo.
    si necesitas urgente una forma de adjuntar archivos a un form de envio de email, podes chequear una clase PHP que se llama PHPMAILER
    http://phpmailer.sourceforge.net/

    es realmente espectacular, y muy fácil de implementar.

  7. sebastian dice:

    gracias alfonso tratare ver como lo hago ya que tengo poco conocimiento en php. y vere como el html para que funke con el php.
    gracias man.
    de todas maneras esperare el tuyo.
    saludos

  8. alfonso dice:

    hola gente,
    queria avisarles que he actualizado el formulario a la V3.
    ahora, a traves de la clase PHPmailer, permite adjuntar el archivo en el mail.

    http://www.alfonsocatron.com.ar/2007/10/15/formulario-de-contacto-php-gratis-v3-adjuntar-archivo-al-mail/

    Agradecere cualquier comentario/sugerencia.

  9. Luis dice:

    por mas que pruebo no llega el comentario a mi correo

  10. Juan Manuel dice:

    excelente el formulario, gracias habia probado con varios y no habia tenido un resultado completo, gracias

  11. JOSUE dice:

    asdasdasd

  12. oscar ojeda dice:

    hola amigo, me podrias decir donde puedo bajar una version en la que no tenga la opcion de envio de archivo, estaria perfecto un formulario como el que haz implementado para los comentarios (este en el que escribo) te agradecere mucho me ayudes…

  13. oscar ojeda dice:

    amigo baje la primera version, y te lo quiero agradecer muchisimo, ya que funciona pero hay una curiosidad que descubri, cuando lo probe con una direccion de correo en hotmail y no me funciono al menos en todo el tiempo que espere que llegue el correo, nunca llego, pero cuando le cambie a un correo en gmail funciona perfectamente, a que se debe esto y si es que se lo podria optimizar para que funcione con hotmail…gracias de nuevo por el script wenaso, en un par de minutos solucione el problema que me llevo media noche y tremendo dolor de cabeza en tratar de implementar un form para mi web y al final quedar frustrado por no haberlo podido lograr…gracias lo formatiare a mi gusto…

  14. oscar ojeda dice:

    funciona biennnnnn para correos de gmail.

  15. Victor dice:

    Hola que tal mucho gusto gracias por ayudar , veras yo copio tu ejemplo y cambio en dreamweber el correo y lo subo a mi pagina en la carpeta www
    solo el archivo php tengo que hacer algo mas ??? te agradeceria mucho tu ayuda

  16. abraham dice:

    echame la mano me marca el siguiente error

    Warning: copy(archivos/administrador-1478228476.jpg) [function.copy]: failed to open stream: No such file or directory in /home/dgcontro/public_html/PRUEBAS/contactenos-v2.php on line 67

    cambie a permisos 777

    que podra estar mal?????

    para sabe r cuando repondan mi mail es branimlm@hotmail.com

  17. carly dice:

    Muy bueno

  18. Nana dice:

    Ola mira una pregunta x k cuando lelga el correo a mi bandeja de entraba me llega con @entre……… como puedo cambiar eso????

  19. mail dice:

    “>Muy bueno

  20. eliz dice:

    holassssssssssss

  21. Hector dice:

    Me salvaste con este tutorial…Infinitas gracias

  22. Augusto dice:

    Hola, primero gracias por la v1, la más basica, me sirvió muchisimo. Quisiera saber como debo hacer para agregar el campo TELEFONO. Lo intenté hacer pero cuando recibia el mail, me aparecia el telefono que lleno la persona en el campo mail, y el campo telefono me aparecia vacio. Muchas Gracias

  23. Johann dice:

    Hola,
    respecto a la version 1, super, me funciona bien, es decir, lo subi a mi web y todo bien, mande y recibi correos, pero el asunto es que, no quiero usar el formulario como un pop up, sino, el formulario tenerlo en mi pagina web, y que desde ahi se envie, he tratado de mil formas y no he podido, la unica forma para que funcione, he tenido que crear un enlace, osea, un acceso directo donde diga, contactar aqui, y cuando hacen click, abre otra ventana que es el PHP que enviaste, es posible de agregarlo a mi pagina HTML, gracias.

  24. luis dice:

    hola como estas , acabo de implementar tu formulario y va de maravillas , pero tengo una duda me gustaria saber como hacer para q envie los mail auqnue no se alla adjuntado un archivo q no sea requerido para el envio, cosa q el usuario envie si kiere o no quiere enviar una foto por ejemplo , ….. gracias por el aporte la verdad q va muy bien y espero me puedas dar una manito :-)

  25. pablo dice:

    Hola, cual es el tamaño maximo de los archivos q puedo adjuntar??? ya q tengo implementado una solucion con phpmailer pero solo me deja adjuntar 500kb(malisimo!)…saludos ;)

  26. Maco dice:

    Hola. Gracias por el formulario, baje la versión 1 y me funciona muy bien. excelente trabajo. Solo tengo una duda, le puse un botón de borrar pero cuando se ha enviado el formulario y aparece el aviso de “gracias” ya no se puede borrar. Hay alguna forma de hacer esto?

    De antemano muchas gracias por tu respuesta.

  27. Maco dice:

    o que en su defecto el formulario quede limpio después de ser eviado?

  28. Andrea dice:

    Hola,
    Muy buen trabajo, me encanto la solucion, pero tengo un problema con la version 2.
    Solamente quiero que se puedan adjuntar archivos zip o rar, pero no funciona con ninguna de las 2 opciones, de hecho en tu formulario de ejemplo tambien da error cuando adjunto un archivo zip.

    Podrias ayudarme??
    gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>