Foros del Web » Programando para Internet » PHP »

Formulario Con Attach

Estas en el tema de Formulario Con Attach en el foro de PHP en Foros del Web. Solcito ayuda con respcto al tema de los formularios con attach. Mi intencion es lograr un formulario con la funcion de enviar archivos a mi ...
  #1 (permalink)  
Antiguo 27/08/2005, 15:06
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta Formulario Con Attach

Solcito ayuda con respcto al tema de los formularios con attach.

Mi intencion es lograr un formulario con la funcion de enviar archivos a mi correo desde mi pagina.

Vale decir la intencion mas clara es q la gente me pueda enviar su curriculum en formato .doc

Yo se hacer formularios pero llevo un tiempo averiguando sobre el attach en ellos y no e podido identificar completamente la funcion, lo e intendtado en varios sistemas pero no me da resultados positivos.

Solo una ves logre que llegara un mail con el nombre del archivo attach. pero mas yaya no e conseguido nada. gradesco de antemano si alguno de los grandes de este sitio me da una mano.
Gracias y suerte..!
  #2 (permalink)  
Antiguo 27/08/2005, 15:32
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Yo uso la clase html_mime_mail y no tengo problemas. Asi que lo que he hecho es compartir el core del codigo que uso. Puedes bajartelo de http://www.mickel.biz/enviomail.zip

Tienes que descomprimirlo, crear una carpeta attachments con permisos 775/777 para que alli suban los documentos y luego invoca al em.php

Por cierto, actualmente permite enviar con cualquier nombre de envio. Modificalo de alli segun necesites. Creo que con eso te puedes guiar...
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 27/08/2005, 16:35
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
De acuerdo

Muchas Gracias, amigo.
cualquer cosa te cuento como me fue.
  #4 (permalink)  
Antiguo 27/08/2005, 16:43
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
no hay de que, para eso estamos. Y si lo mejoras publicalo por aqui para que otros se beneficien...
__________________
No tengo firma ahora... :(
  #5 (permalink)  
Antiguo 02/09/2005, 08:12
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
hola nuevamente.... sabes ...para probar lo que me diste, lo subi todo tal cual q servidor pero no dio resultado , ahi q hacerle algun cambio??...para que este me resulte o simplemente ahi algo mal....

Gracias ..!
  #6 (permalink)  
Antiguo 02/09/2005, 08:39
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
hola, yo utilizo el phpmailer, y anda al pelo, lo utilize para enviar un formulario con una imagen, para no tener que cargar la imagen desde alguna url. si lo queres bajar aqui esta la url phpmailer.sourceforge.net. mas o menos este es el codigo que uso. la ayuda del phpmailer te explica bien el uso. en ves de
AddEmbeddedImage que yo uso aca tenes que poner addattach o algo por el estilo ahora no me acuerdo bien

require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->Mailer="smtp";
$mail->Host = "smtp.xxxx.com";
$mail->SMTPAuth = true;
$mail->Username = "xxxxxx";
$mail->Password = "12345";
$mail->From = $row_emp['email'];
$mail->FromName = $row_emp['nombrecomercial'];
$mail->AddAddress($row_add['fact_email']);
$mail->WordWrap = 80;
$mail->ContentType="image/jpg";
$mail-> AddEmbeddedImage("../images/curiaralogo.jpg","logo","logo");
$mail->IsHTML(true);
$mail->Subject = "Envio de factura";
$cuerpo="<html>";
$cuerpo.="<head>";
$cuerpo.="<title></title>";
$cuerpo.="</head>";
$cuerpo.="<body>";
..............
$cuerpo.="</body>";
$cuerpo.="</html>";
$mail->Body = $cuerpo;
if(!$mail->Send())
{
echo "Error al enviar el mensaje. <p>";
echo "Error: " . $mail->ErrorInfo;
exit;
}
  #7 (permalink)  
Antiguo 02/09/2005, 09:08
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
gracias., pero estas seguro que me servira para que las personas puedan hacer llegar un curriculum a mi correo..? (formato doc)
  #8 (permalink)  
Antiguo 02/09/2005, 09:12
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
lo que queres hacer es mandar un archivo punto doc es decir que tenga tu formulario un boton examinar y el usuario pueda buscar el archivo y despues mandartelo a tu correo.
  #9 (permalink)  
Antiguo 02/09/2005, 09:18
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
si exactamente...!
  #10 (permalink)  
Antiguo 02/09/2005, 09:29
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta sirve..???

Cita:
Iniciado por klyfa
lo que queres hacer es mandar un archivo punto doc es decir que tenga tu formulario un boton examinar y el usuario pueda buscar el archivo y despues mandartelo a tu correo.

si eso es ?? sirve lo de php q me diste ??
  #11 (permalink)  
Antiguo 02/09/2005, 10:27
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Hola, tienes alguna idea sobre el upload de archivos? de todas formas bajate el PHPMailer, es bastante simple y muy efectivo. Ojo pero para lograrlo tienes que tener claro el tema del upload, o por lo menos una idea. Saludos y suerte.
  #12 (permalink)  
Antiguo 02/09/2005, 10:36
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
si algo entiendo ... puedo leer y sacar deducciones de los php
  #13 (permalink)  
Antiguo 02/09/2005, 11:00
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
si te sirve,ase una prueba, no es deficil, solo bajate la clase de phpmailer y ademas ahi te muestra ejemplos de incrustacion de archivos
voy a ver si tengo un ejemplo y lo escribo aca
  #14 (permalink)  
Antiguo 02/09/2005, 11:50
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
bueno aca te dejo un ejemplo que lo probe recien y me andubo perfectamente
<?php
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->Mailer="smtp";
$mail->Host = "localhost";
//$mail->SMTPAuth = true;
//$mail->Username = "[email protected] ";
//$mail->Password = "mipassword";
$mail->From = "[email protected]";
$mail->FromName = "formulario de mi web";
$mail->AddAddress("[email protected]");//destinatario
$mail->WordWrap = 80;
$mail->AddAttachment($_POST['file'], "new_name.zip"); // optional name
$mail->IsHTML(true);
$mail->Subject = "Envio de factura";
$mail->Body = "Hoa";
if(!$mail->Send())
{
echo "Error al enviar el mensaje. <p>";
echo "Error: " . $mail->ErrorInfo;
exit;
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form name="form1" method="POST" action="">
<input type="file" name="file">
<input type="submit" name="Submit" value="Enviar">
</form>
</body>
</html>


yo utilese un servidor smtp local, asique si tu servidor smtp requiere autorizacion tendras que poner la siguiente lineas:
$mail->SMTPAuth = true;
$mail->Username = "[email protected] ";
$mail->Password = "mipassword";

y otra de las cosas que te tenes que fijar que es un error boludo pero a mi me sucedio, pense que no andaba y el correo me estaba entrando como correo no deseado. jejejje
ademas te dejo dos pag:

http://www.programacion.com/php/articulo/phpmailer/
esta te explica en castellano

http://phpmailer.sourceforge.net/extending.html
y aca te pongo la pagina oficial de phpmailer.
  #15 (permalink)  
Antiguo 02/09/2005, 12:11
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
muchas gracias ..! espero resulte sin ningun inconveniente..!! q esten muy bien ..! les contare como me fue con la travesia ..jajaja saludos
  #16 (permalink)  
Antiguo 02/09/2005, 12:55
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Ya actualice el ZIP. Deberia funcionar...
__________________
No tengo firma ahora... :(
  #17 (permalink)  
Antiguo 02/09/2005, 13:26
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
oka gracias ..lo revisare...
  #18 (permalink)  
Antiguo 02/09/2005, 15:28
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
acuerdate que, cuando lo unzipees, la carpeta attachments que se cree tiene que tener permisos 777
__________________
No tengo firma ahora... :(
  #19 (permalink)  
Antiguo 04/09/2005, 20:34
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Pruebalo aqui:
http://www.snowgoods.com/em/em.php
__________________
No tengo firma ahora... :(
  #20 (permalink)  
Antiguo 06/09/2005, 14:28
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
Exclamación muchas gracias ..! y otra....

oye viejito te agradesco monton me resulto muy bien .! ahora tengo otra consulta si no es molestia .....

¿como debo hacer para que el envio vaya dirigido a un mail especificado internamente por mi y no que el perosonaje "X" lo agregue como "Para"?

Yo creo que esta es mi ultima molestia, almenos en este Tips. asi q agradesco de antemano la Disposicion de todos aquellos que me han ayudado.
  #21 (permalink)  
Antiguo 06/09/2005, 15:28
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
quita toda la fila que dice Para y create dos campos hidden justo antes del boton de Enviar
<input type=hidden name='txtton' value='(nombre destino)'>
<input type=hidden name='txttoe' value='(email destino)'>

Y con eso deberia funcionar...

Ah, y una cosita mas, que me olvide de poner... Si quieres que valide con JS el tipo de archivo pones esto en el HEAD:
Código:
<script language='JavaScript'>
function LimitAttach(tField) {
   file=tField.value;
   extArray = new Array("gif","jpg");
   allowSubmit = false;
   if (!file) return;
   while (file.indexOf("\\") != -1) file = file.slice(file.indexOf("\\") + 1);
   while (file.indexOf(".") != -1) file = file.slice(file.indexOf(".") + 1);
   ext = file.toLowerCase();
   for (var i = 0; i < extArray.length; i++) {
	if (extArray[i] == ext) {
	   allowSubmit = true;
	   break;
	}
   }
   if (allowSubmit) {
   } else {
        tField.value="";
	  alert("Solo puede subir archivos del tipo " + (extArray.join("  ")) + "\nPor favor seleccione otro archivo);
   }
}
</script>
Y al File le pondrias
<input type='file'... onblur='javascript:LimitAttach(this);'>
__________________
No tengo firma ahora... :(
  #22 (permalink)  
Antiguo 06/09/2005, 15:51
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
gracias comprade exelente ..! agradesco mucho tu colavoracion..! ta todo okey y funcioando.

cualquier cosa q pueda ayudar en alguna ocasion encantado de hacerlo....! gracias..!
  #23 (permalink)  
Antiguo 06/09/2005, 16:08
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Como que "gracias"? Dame tus datos para pasarte la cuenta

No olvidate, de nada, todos hemos pasado por momentos en que necesitabamos ayuda de otros. Asi que la unica condicion es que si mejoras ese codigo, pues lo compartas...

Buena suerte!
__________________
No tengo firma ahora... :(
  #24 (permalink)  
Antiguo 20/06/2007, 12:53
 
Fecha de Ingreso: noviembre-2002
Mensajes: 17
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Formulario Con Attach

hola, necesito ayuda con esto de subir un archivo adjuntos , el codigo que utilizo es el ejemplo de subir archivo al estilo de gmail publicado en el sitio de buayacorp, que me funciona bien pero solo para archivo pequeños, no encuentro donde cambiar este parametro para que pueda enviar archivos mas grandes entre 3 o 5 mb, cualquier ayuda que puedan brindarme sera bienvenida.

gracias de antemno
  #25 (permalink)  
Antiguo 20/06/2007, 12:53
 
Fecha de Ingreso: noviembre-2002
Mensajes: 17
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Formulario Con Attach

hola, necesito ayuda con esto de subir un archivo adjuntos , el codigo que utilizo es el ejemplo de subir archivo al estilo de gmail publicado en el sitio de buayacorp, que me funciona bien pero solo para archivo pequeños, no encuentro donde cambiar este parametro para que pueda enviar archivos mas grandes entre 3 o 5 mb, cualquier ayuda que puedan brindarme sera bienvenida.

gracias de antemano
  #26 (permalink)  
Antiguo 20/06/2007, 13:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Formulario Con Attach

Primera no es bueno duplicar posts, y revivir temas viejos (2005), para enviar archivos mas grandes tienes que cambiar el php.ini para que te acepte subir archivos mas pesados sin darte error.

Cambia la directiva post_max_size, por un valor mas grande.

Saludos.
  #27 (permalink)  
Antiguo 21/06/2007, 10:03
 
Fecha de Ingreso: noviembre-2002
Mensajes: 17
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Formulario Con Attach

hola GatorV, gracias por tu pronta respuesta, perdon por lo de los mensajes duplicados no fue intencional, ya cambie el valor de post_max_size el que tenia era de 8M, se le aumente a 15M, pero el problema persiste, estuve viendo en la clase class.phpmailer.php alla por la linea 1084
esta el codigo que coloco al final, no se si es el que se tiene que modificar para que acepte archivos mas grandes, el archivo mas grande que e enviado sin problemas es de 435 kb, no es que e correo no se envie solo que con archivos mas grandes no los adjunta pero siempre se envia y se recibe el correo.

muchas gracias de antemano


function EncodeFile ($path, $encoding = "base64") {
if(!@$fd = fopen($path, "rb"))
{
$this->SetError($this->Lang("file_open") . $path);
return "";
}
// $file_buffer = fread($fd, filesize($path));
//$file_buffer = $this->EncodeString($file_buffer, $encoding);
//fclose($fd);

//return $file_buffer;
//}
if ($size = (int)@filesize($path)) {
$file_buffer = fread($fd, $size);
} else {
$file_buffer = '';
while (!feof($fd)) {
$file_buffer .= fread($fd, 10240);
}
}
// </extended>
  #28 (permalink)  
Antiguo 21/06/2007, 14:38
 
Fecha de Ingreso: noviembre-2002
Mensajes: 17
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Formulario Con Attach

hola, GatorV, si funciona ya puedo enviar aunque se me queda la pantalla como bloqueada luego de enviarse no se actualiza, ademas del cambio que me emncioanste agregue esta linea
<input type="hidden" name="MAX_FILE_SIZE" value="132456200">

lo unico que no se como hacerlo es que envie archivos tiff solo me esta enviando jpg.

saludos y muchas gracias
  #29 (permalink)  
Antiguo 21/06/2007, 14:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Formulario Con Attach

Puede que necesites tambien cambiar el tiempo de procesamiento para que pueda el script correr por mas tiempo.

En si no deberias de tener problema para enviar el tipo de archivo que quieras.

Saludos.
  #30 (permalink)  
Antiguo 31/08/2007, 09:26
 
Fecha de Ingreso: agosto-2007
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Formulario Con Attach

Hola Mickel no se si todavia tendras la configuracion para el attach por pagina para enviar curriculum a un correo añadido

Saludos

Jose
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 14:25.