Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/06/2008, 17:11
ZeroGuy
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Formulario Para Enviar Imagenes

Hola! Mirate esto (es una idea general y escrita algo rápido, pero te servirá)

Código:
<?php
if(isset($_POST["enviar"])) //si existe el botón de enviar
{
         // Creamos lo necesario para el mensaje
         $to = "[email protected]";
         $from = "[email protected]";
         $from_nombre = "El fulano que envia";
         $subject = "Enviando archivos";
         $headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1 \r\n";
	// El De: en la forma Nombre [email protected], esto garantiza que
	// en el cliente de correo del receptor se vea sólo el nombre de quien envia
	// en su bandeja de entrada
	$headers .= "From: $from_nombre  <$from> \r\n";
	// Opcional: Resopnder a:
	$headers .= "Reply-To: " . $from; 
        $message = "Ahi te van algunos archivos"; // al declararlo como text / html, puedes agregar html
       $archivos = "";

         for($x=1;$x<=6;$x++) // tome 6, pero puedes traerte una variable que diga cuantos
         {
               if(isset($_FILES["imagen$x"])) // $x tiene de 1 hasta 6, esto genera image1, imagen2....
               {
                    $local = $_FILES[""imagen$x"]["name"];
                    $ruta = "/home/usuario/" . $local; // obviamente esta ruta sería la que uses
                    $remoto = $_FILES[""imagen$x"]["tmp_name"];
                    if (is_uploaded_file($remoto)){
			// copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
			copy($remoto, $ruta);
$archivos .= "$ruta,";
		}      
               }
           $attachs = substr($archivos, 0, strlen(archivos) -1); // esto elimina la coma que quedo al final
// --- ahora el envio lo hago con un proceso unix que invoca a sendmail
$fd = popen("/usr/sbin/sendmail -t - a $attachs", 'w'); //el -a es para enviar attachments
		// Metes las cabeceras del mensaje en el pipe
		fputs($fd, "To: $to\n");
		fputs($fd, "Subject: $subject\n");
		fputs($fd, "X-Mailer: PHP4\n");
		if ($headers) {
			fputs($fd, "$headers\n");
		}
		// Dejas un espacio en blanco
		fputs($fd, "\n");
		// Metes el mensaje en el pipe
		fputs($fd, $message);
		//Cierras el pipe y con ello se envia el mensaje
		pclose($fd);
          }
}
analizálo y ajustalo a tus necesidades