Foros del Web » Programando para Internet » PHP »

recuperar imagen codificada en attach

Estas en el tema de recuperar imagen codificada en attach en el foro de PHP en Foros del Web. Hola, tengo este problema. Puse en mi sitio un script para que la gente me mande mails con fotos attachadas y todo funcionó bién hasta ...
  #1 (permalink)  
Antiguo 09/12/2005, 19:24
mab
 
Fecha de Ingreso: enero-2002
Mensajes: 263
Antigüedad: 22 años, 3 meses
Puntos: 0
recuperar imagen codificada en attach

Hola, tengo este problema.
Puse en mi sitio un script para que la gente me mande mails con fotos attachadas y todo funcionó bién hasta que me cambié de hosting, entonces los mails con attach me llegan asi:

...
Content-Type: image/jpg;
name="foto.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="foto.jpg"

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg, etc, etc , etc

El tema es que necesito recuperar esas imágenes y no se como recodificarlas.
Alguien me podría dar una mano?

Gracias
  #2 (permalink)  
Antiguo 10/12/2005, 05:00
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Deberás hacer algo como esto:
Código PHP:
$imagen=/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg, etc, etc , etc
header('Content-type:image/jpeg');
echo 
base64_decode($imagen
  #3 (permalink)  
Antiguo 10/12/2005, 05:02
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
(La cadena $imagen debe ir entre comillas y terminar en punto y coma)
  #4 (permalink)  
Antiguo 10/12/2005, 09:09
mab
 
Fecha de Ingreso: enero-2002
Mensajes: 263
Antigüedad: 22 años, 3 meses
Puntos: 0
Gracias Panino5001 !
Funciona perfecto!
Te hago una pregunta , porque puede ser que en el nuevo hosting no funcione el attach?
El código que uso es este:


<?php

$mime_boundary = "<<<--==+X[".md5(time())."]";

$headers .= "From: ".$Nombre." ".$Apellido."<".$tumail.">\r\n";


$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed;\r\n";
$headers .= " boundary=\"".$mime_boundary."\"";

$message .= "This is a multi-part message in MIME format.\r\n";
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n";

$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$message .= "Content-Transfer-Encoding: 7bit\r\n";
$message .= "\r\n";




$message .= "Nombre: ".$Nombre."\r\n";
$message .= "Apellido: ".$Apellido."\r\n";
$message .= "Edad: ".$Edad."\r\n";
$message .= "EstadoCivil: ".$EstadoCivil."\r\n";
$message .= "Hobby: ".$Hobby."\r\n";
$message .= "ArtistaPreferido: ".$ArtistaPreferido."\r\n";
$message .= "Mail: ".$tumail."\r\n";

$message .= "--".$mime_boundary."\r\n";



$path = "imagenesmedianas/".$nombre1;

$fp = fopen($path, 'r');
do
{
$data = fread($fp, 8192);
if (strlen($data) == 0) break;
$content .= $data;
} while (true);
$fileContent = chunk_split(base64_encode($content));




$message .= "Content-Type: image/jpg;\r\n";
$message .= " name=\"foto.jpg\"\r\n";
$message .= "Content-Transfer-Encoding: base64\r\n";
$message .= "Content-Disposition: inline;\r\n";
$message .= " filename=\"foto.jpg\"\r\n";
$message .= "\r\n";
$message .= $fileContent;
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n";


mail($destinatario,$asunto,$message,$headers);


?>

Muchísimas gracias por la ayuda!
  #5 (permalink)  
Antiguo 12/12/2005, 11:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías usar la classe:

PHP Malier
http://phpmailer.sourceforge.net

(o simplemente ver como tratan los "attach") ..

Un saludo,
  #6 (permalink)  
Antiguo 12/12/2005, 16:27
mab
 
Fecha de Ingreso: enero-2002
Mensajes: 263
Antigüedad: 22 años, 3 meses
Puntos: 0
Ok, 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 02:28.