Foros del Web » Programando para Internet » PHP »

como subir archivo al servidor y despues enviarlo al correo como adjunto

Estas en el tema de como subir archivo al servidor y despues enviarlo al correo como adjunto en el foro de PHP en Foros del Web. Hola amigos llego intentando arreglar esre problema que tengo con un formulario pero no hay manera me han dicho de muchas maneras pero yo no ...
  #1 (permalink)  
Antiguo 04/08/2009, 09:49
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 4 meses
Puntos: 0
como subir archivo al servidor y despues enviarlo al correo como adjunto

Hola amigos llego intentando arreglar esre problema que tengo con un formulario pero no hay manera me han dicho de muchas maneras pero yo no doy con la tecla.
He intentado mediante phpmailer enviarme un formulario con el adjunto al correo pero os aseguro que no me he atrevido y he probado de todas las maneras que me han dicho.
Por ultimo me han sugerido que suba el archivo del formulario al servidor y una vez que este subido lo envie con el resto del formulario al correo.

Mi unico problema es el input type= file pues tengo varios formularios y todos me llegan bien al correo menos ese.

La manera de subirlo al servidor es la siguiente pero ya la he probado y nada no se que es lo que estoy haciendo mal

Código:
		<form method="post" onsubmit="return validacontacto()" action="" target='_self' enctype="multipart/form-data">
					
						<center>
				   <label for="nombre" id="nombre_t"style="color:black;margin-right:2%;">Nombre</label>
				   <input name="nombre" type="text" id="nombre" class="formuentrada" maxlength="20" size="30" />
				   <br/>
				   <label for="nombre"id="nombre_e" style="color:red;display:none;width:100%;">Debes introducir tu nombre</label>
				   <br/>
                   <label for="email" id="email_t" style = "color:black;margin-right:4%;">E-mail</label>
				   <input name="email" type="text" id="email" class="formuentrada" maxlength="40" size="30"/>
                   <br/>
                   <label for="email" id ="email_e"style="color: red;display:none;width:100%;">Debes introducir el E-mail</label>
				   <label for="email" id="email_e1"style="color:red;display:none;width:100%;">El formato del e-mail no es correcto</label>
				   <br/>
				   <label for="telefono" id="telefono_t" style="color:black;margin-right:1%;">Tel&eacute;fono</label>
				   <input name="telefono" type="text"  id="telefono" class="formuentrada" maxlength="9" size="30"  />
				   <br/>
				   <label for= "telefono" id= "telefono_n1" style="color:red;display:none;width:100%;">Debes introducir un tel&eacute;fono de contacto</label>
				   <label for= "telefono" id ="telefono_n2" style="color:red;display:none;width:100%;">El formato del tel&eacute;fono no es correcto</label>
				   <br/>
				   <label id="pudeseado" name="pudeseado" style="color:black; margin-right:13%">Puesto deseado</label>
				   <select id="puesto" name="puesto" class="TitleColor required validate-selection">
									<option value="0">   Selecciona ...   </option>
									<option value="2">Cocina</option>
									<option value="1">Camarer@</option>
						</select><br/>
						<label for= "puesto" id ="puesto_n1" style="color:red;display:none;width:100%;">Debe seleccionar su puesto deseado</label>
					<br/>
					<br/>
				   <label for ="carta" id="carta" style="color:black;margin-right:28%">Carta de Presentaci&oacute;n</label><br/><br/>
				   <textarea rows="4" cols="32" id="carta" name="carta" class="formuentrada" style="margin-left:2%"></textarea>
				   <br/>
				   <br/>
				   <p><label for="curri" id="curri" style="color:black;margin-right:15%">Adjuntar curriculum </label>
				   
          				<INPUT id="file" type="file" name="file"></p>
					
          				<INPUT type="submit" value="Enviar">
					</form>
Código PHP:
<? 
                        $destino 
'uploaded'
                        
copy($_FILES['file']['tmp_name'], $destino.'/'.$_FILES['file']['name']) 
                    
?>
Si alguien ha hecho algo parecido y me puede echar una mano con el codigo que debo usar seria estupendo.

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 05/08/2009, 10:05
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: como subir archivo al servidor y despues enviarlo al correo como adjunto

mira en este post le pase mi codigo a alguien de como mandar archivos adjuntos desde php, lo hago usando la clase phpmailer, te paso el link para que pruebes

http://www.forosdelweb.com/f18/envia...o-foro-714445/

unicamente tendrias que cambiar esta linea que yo tengo
//dato adjunto
$mail->Attachment('files/orden_carga.pdf');

por la tuya que seria la que corresponde a este codigo que tienes
$destino = 'uploaded';
copy($_FILES['file']['tmp_name'], $destino.'/'.$_FILES['file']['name'])
?>
$mail->Attachment('uploaded/archivo.extencion');

suerte y cualquier cosa aqui estamos
  #3 (permalink)  
Antiguo 06/08/2009, 11:04
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 4 meses
Puntos: 0
Gracias lair lo probare haber si funciona

Nada he probado ha hacerlo asi y nada no se si no se muy bien lo que hay que poner pero no me llega nada

Código:
 <div id="foto">
					<fieldset>
						<p>Trabaja con Nosotros</p>
						<form method="post" onsubmit="return validacontacto()" action="" target='_self' enctype="multipart/form-data">
					
						<center>
				   <label for="nombre" id="nombre_t"style="color:black;margin-right:2%;">Nombre</label>
				   <input name="nombre" type="text" id="nombre" class="formuentrada" maxlength="20" size="30" />
				   <br/>
				   <label for="nombre"id="nombre_e" style="color:red;display:none;width:100%;">Debes introducir tu nombre</label>
				   <br/>
                   <label for="email" id="email_t" style = "color:black;margin-right:4%;">E-mail</label>
				   <input name="email" type="text" id="email" class="formuentrada" maxlength="40" size="30"/>
                   <br/>
                   <label for="email" id ="email_e"style="color: red;display:none;width:100%;">Debes introducir el E-mail</label>
				   <label for="email" id="email_e1"style="color:red;display:none;width:100%;">El formato del e-mail no es correcto</label>
				   <br/>
				   <label for="telefono" id="telefono_t" style="color:black;margin-right:1%;">Tel&eacute;fono</label>
				   <input name="telefono" type="text"  id="telefono" class="formuentrada" maxlength="9" size="30"  />
				   <br/>
				   <label for= "telefono" id= "telefono_n1" style="color:red;display:none;width:100%;">Debes introducir un tel&eacute;fono de contacto</label>
				   <label for= "telefono" id ="telefono_n2" style="color:red;display:none;width:100%;">El formato del tel&eacute;fono no es correcto</label>
				   <br/>
				   <label id="pudeseado" name="pudeseado" style="color:black; margin-right:13%">Puesto deseado</label>
				   <select id="puesto" name="puesto" class="TitleColor required validate-selection">
									<option value="0">   Selecciona ...   </option>
									<option value="2">Cocina</option>
									<option value="1">Camarer@</option>
						</select><br/>
						<label for= "puesto" id ="puesto_n1" style="color:red;display:none;width:100%;">Debe seleccionar su puesto deseado</label>
					<br/>
					<br/>
				   <label for ="carta" id="carta" style="color:black;margin-right:28%">Carta de Presentaci&oacute;n</label><br/><br/>
				   <textarea rows="4" cols="32" id="carta" name="carta" class="formuentrada" style="margin-left:2%"></textarea>
				   <br/>
				   <br/>
				   <p><label for="curri" id="curri" style="color:black;margin-right:15%">Adjuntar curriculum </label>
				   
          				<INPUT id="file" type="file" name="file"></p>
					
          				<INPUT type="submit" value="Enviar">
					</form>
					</center>
					<? 
					require_once('class.phpmailer.php'); 
             
            $mail= new PHPMailer(true); 
             
            try { 
                //datos del remitente 
                $mail->From=$this->data['Salida']['nombre']; 
                $mail->FromName=$this->data['Salida']['email']; 
                //datos del destinatario 
                $mail->AddAddress($this->data['Salida']['Sabor a mar'],$this->data['Salida']['[email protected]']); 
                //asunto 
                $mail->Subject=$this->data['Salida']['telefono']; 
                //mensaje 
                $mail->Body=$this->data['Salida']['carta']; 
                //dato adjunto 
				$mail->Attachment('uploaded/file'); 
                 
                if($mail->Send()){ 
                    $this->Session->setFlash('Las ordenes han sido enviadas'); 
                    $this->redirect(array('controller'=>'salidas','action'=>'bymail')); 
					?><p>Sus Datos han sido recibidos. Gracias por contactar con nosotros</p>
               <? }else{ 
                    $this->Session->setFlash('Las ordenes no podieron ser enviadas'); 
                    $this->redirect(array('controller'=>'salidas','action'=>'bymail')); 
                } 
            } catch (phpmailerException $e) { 
                $this->Session->setFlash($e->errorMessage()); //Pretty error messages from PHPMailer 
            } catch (Exception $e) { 
                $this->Session->setFlash($e->getMessage()); //Boring error messages from anything else! 
            }   
					?>
No entiendo muy bien de esto pero tengo hecho otro que me llega asi kel problema deriva del adjunto, haber si me podeis decir que tengo que poner exactamente en cada uno de los campos importantes para que el email me llegue a mi correo. Gracias

Última edición por GatorV; 12/08/2009 a las 11:54
  #4 (permalink)  
Antiguo 12/08/2009, 10:18
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: como subir archivo al servidor y despues enviarlo al correo como adjunto

up up up up up
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 22:21.