Foros del Web » Programando para Internet » PHP »

adjuntar foto en un formulario

Estas en el tema de adjuntar foto en un formulario en el foro de PHP en Foros del Web. hola amigos me gustaria saber si con php puedo mandar una foto que esta dentro de un formulario a mi correo????? Código PHP: <? if (! ...
  #1 (permalink)  
Antiguo 29/02/2008, 10:36
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 1 mes
Puntos: 0
adjuntar foto en un formulario

hola amigos me gustaria saber si con php puedo mandar una foto que esta dentro de un formulario a mi correo?????
Código PHP:
<?
if (!$HTTP_POST_VARS){
?>
        <tr align="center" valign="top">
          <th height="150" align="center" scope="row"><form action="envia_form_php.php" method=post enctype="multipart/form-data">
            <table width="496" height="59" border="2" align="center" bordercolor="#006600">
              <tr>
                <td align="left" valign="top"><p><span class="Estilo72">NOMBRE&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
                  <label>
                    <input name="NOMBRE" type="text" id="NOMBRE" size="50" />
                    </label>
                </p>
                  <p class="Estilo72">TU FOTO &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <label>
                    <input name="FOTO" type="file" id="FOTO" size="37" />
                    </label>
                  </p>
                  <p class="Estilo72">EXPERIENCIA                  </p>
                  <span class="Estilo72">
                  <label>                  </label>
                  </span>
                  <label><textarea name="EXPERIENCIA" cols="60" id="EXPERIENCIA">describe tu experiencia aquí...</textarea>
                  </label></td>
              </tr>
            </table>
            <p>
              <label>
              <input name="enviar" type="submit" id="enviar" value="Enviar" />
              </label>
              <label>
              <input name="restablecer" type="reset" id="restablecer" value="Restablecer" />
              </label>
            </p>
            </form>
<?
}else{
    
//Estoy recibiendo el formulario, compongo el cuerpo
    
$cuerpo "Formulario enviado\n";
    
$cuerpo .= "Nombre: " $HTTP_POST_VARS['NOMBRE'] . "\n";
    
$cuerpo .= "foto: " $HTTP_POST_VARS['FOTO'] . "\n";
    
$cuerpo .= "experiencia: " $HTTP_POST_VARS['EXPERIENCIA'] . "\n";

    
//mando el correo...
    
mail("tours@xxx","Formulario recibido",$cuerpo);

    
//doy las gracias por el envío
    
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
ese es el codigo que le tengo ahorita al formulario para que me envie los datos que pido, pero en la ocpcion de foto solo me envia el nombre de la foto por ejemplo foto.jpg pero no el archivo osea la foto en si.

espero entiendan mi pregunta... graciass......

Última edición por naturadinfinitus; 07/02/2009 a las 08:20
  #2 (permalink)  
Antiguo 29/02/2008, 10:46
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: adjuntar foto en un formulario

CAMBIA ESTA LINA

$cuerpo .= "foto: " . $HTTP_POST_VARS['FOTO'] . "\n";



PRUEBA CON ESTA:

$cuerpo .= "foto: " . $_FILES['fichero']['tmp_name'] . "\n";
  #3 (permalink)  
Antiguo 29/02/2008, 10:49
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: adjuntar foto en un formulario

claro q se puede mira este codigo q he creado

http://www.codigolandia.com/index-Ma...hivo-php-60.tc

lo puedes modificar a tu gusto manda todo tipo de archivo solo debes configurar algunas cosas
  #4 (permalink)  
Antiguo 29/02/2008, 10:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: adjuntar foto en un formulario

Si es posible hacerlo, pero es un proceso un poco complejo el codificar el correo, así que te recomendaría que usaras la clase PHPMailer, y asi puedes adjuntar la foto y la clase te la codificaría de manera automatica.

Saludos.
  #5 (permalink)  
Antiguo 29/02/2008, 10:56
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: adjuntar foto en un formulario

Mira esto dos enlaces te pueden servir PHPMailer y Enviar-Correo-con-adjuntos

Saludos.
  #6 (permalink)  
Antiguo 29/02/2008, 11:01
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: adjuntar foto en un formulario

mira he encontrado esto en mi biblioteca de aplicaciones a ver si te lo puedes adaptar, primero has de subir la foto al server y despues que se envie el form


TRATA DE ADAPTARTELO


este es el codigo
Código PHP:
[<html>
<head>
<title>Subir un Archivo</title>
</head>
<body>
<?php
$subir_a 
"archivos/";

if (
$_POST['subir'])
{
if (@
move_uploaded_file($_FILES['archivo']['tmp_name'], $subir_a $_FILES['archivo']['name']))
{
echo 
"<span style="color#66CC00">&iexcl;El archivo <b><?=$_FILES['archivo']['name']</b> ha sido subido exitosamente!.</span>"
?>

<?php
} else {echo "<span style="color#FF0000">&iexcl;Ha habido un error al subir el archivo <b><?=$_FILES['archivo']['name']?></b></span>

<?php
}
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
<table border="0">
<tr>
<td><div align="right"><b>Archivo a subir:</b></div></td>
<td><input type="file" name="archivo"></td>
</tr>
<tr>
<td></td><td><div align="right"><input type="submit" name="subir" value="Subir Archivo"></div></td>
</tr>
</table>
</form>
</body>
</html> 


<?php  $semi_rand md5(time());
        
$mime_boundary "==Multipart_Boundary_x{"$semi_rand ."}x";

        
$headers "From: Ejemplo <[email protected]>\r\n";
        
$headers .= "MIME-Version: 1.0\r\n";
        
$headers .= "Content-type: multipart/mixed;\r\n";
        
$headers .= " boundary=\"{"$mime_boundary ."}\"";

            
$archivo "archivos/adjunto.jpg";

$cadenita explode('/',$archivo);
$cantidad count($cadenita);
$cantidad $cantidad 1;
$nombre_archivo $cadenita[$cantidad]; /* con esto obtengo el nombre del archivo */

            
$file fopen($archivo'rb');
            
$data fread($filefilesize($archivo));
            
fclose($file);
        
// Add a multipart boundary above the plain message
        
$MessageN "Content-Type: text/html; charset=\"iso-8859-1\"\r\n" .
                    
"--{"$mime_boundary ."}\n" .
                    
"Content-Transfer-Encoding: 7bit\r\n\r\n"
                    
"MENSAJE\r\n";

          
// Base64 encode the file data
          
$data chunk_split(base64_encode($data));

          
// Add file attachment to the message
          
$MessageN .= "--{"$mime_boundary ."}\r\n" .
              
"Content-Type: {"filetype($archivo) ."};\r\n" .
              
" name=\""$nombre_archivo ."\"\r\n" .
              
"Content-Disposition: attachment;\r\n" .
              
" filename=\""$nombre_archivo ."\"\r\n" .
              
"Content-Transfer-Encoding: base64\r\n\r\n" .
              
$data "\r\n\r\n" .
              
"--{"$mime_boundary ."}--\r\n";  ?>
no se si te funcionara bien, pero esta es la idea
  #7 (permalink)  
Antiguo 29/02/2008, 11:28
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: adjuntar foto en un formulario

Bueno jaronu eso de trata de adaptarlo no me ayuda porque no entiendo mucho los codigos, y se me hace muy dificil configurarlo, recuerden que solo tres días estudiando el codigo php.

Los del phpmail me parece que es lo que necesito pero porfavor si me explican eso de smtp, pues me ha enredado, ya estoy leyendo el link hacia el phpmail que me dieron pero aún así me cuesta entenderlo.

si me explican paso a paso como tengo que insertar los dos codigos que me dan ahí en mi codigo de php y tambien lo de smtp.

gracias y disculpen tanta ignorancia.
soy un verdadero principiante en esto.....
  #8 (permalink)  
Antiguo 29/02/2008, 11:38
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: adjuntar foto en un formulario

amigos trate de bajar el class.phpmailer.php y el otro que dice que es necesario y ninguno de los dos me baja?????
  #9 (permalink)  
Antiguo 29/02/2008, 11:55
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: adjuntar foto en un formulario

Mira este link PHPMailer fijate bien en el ejemplo que te puede servir, otra cosa estas probando tu codigo en local, o en un hosting?, hay esta el enlace para que bajes codigo de la clase PHPMailer.

Saludos.
  #10 (permalink)  
Antiguo 29/02/2008, 12:02
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: adjuntar foto en un formulario

ok amigo si vi el ejemplo y parece que esta bastante facil de entender pero pense que este servicio era gratis y ahora que estoy creando la cuenta en hotpop vi que hay que pagar una cantidad para poder usar el servicio.

No hay ninguna otra forma para hacerlo gratis.

y expliquemme porfavor que es lo que va hacer le hotpop...
osea el me va a guardar mi email o que ???????
gracias.........
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 19:58.