30/06/2008, 17:11
|
| | Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 16 años, 4 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 |