Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/06/2008, 00:05
Avatar de marta4u
marta4u
 
Fecha de Ingreso: octubre-2007
Mensajes: 8
Antigüedad: 16 años, 7 meses
Puntos: 0
Generar RTF sobre plantilla y enviar

Hola a todos,

estoy un poco pegadita en muchas cosas y no consigo hacer algo, en teoría muy sencillo. Me estoy volviendo un poco loca así que os cuento por si podéis echarme una mano.

Tengo un formulario pdf cuyos valores envío a un php para que los procese. Lo que tiene que hacer el php es:

1. abrir una plantilla rtf que tengo en el sevidor.
2. rellenarla con los datos provenientes del formulario
3. enviar por email el formulario resultante.

Lo que me ocurre es que el formulario me llega pero sin modificar. Por favor, cualquier ayuda me vendría muy bien. Gracias de antemano

El código que uso es el siguiente.



<?php


// funcion para rellenar plantilla con datos
function populate_RTF($vars, $doc_file) {

$replacements = array ('\\' => "\\\\",

'{' => "\{",

'}' => "\}");

$document = file_get_contents($doc_file);

if(!$document) {

return false;

}

foreach($vars as $key=>$value) {

$search = "#*".strtoupper($key)."*#";

foreach($replacements as $orig => $replace) {

$value = str_replace($orig, $replace, $value);

}

$document = str_replace($search, $value, $document);

}

return $document;

}

// cargo el array $vars con los valores del fomulario

$vars = array(array('nombre' => $_POST['nombre'],
'Direccion' => $_POST['direccion'],
'poblacion' => $_POST['poblacion'],
'cpostal' =>$_POST['cpostal'],
'pais' =>$_POST['pais'],
'telefonos' =>$_POST['telefonos'],
'email' =>$_POST['email'],
'dni' =>$_POST['dni'],
'nacionalidad' =>$_POST['nacionalidad'],
'nacimiento' =>$_POST['nacimiento'],
'profesion' =>$_POST['profesion'],
'Nombre_curso' =>$_POST['Nombre_curso'],
'horario' =>$_POST['horario'],
'matricula' =>$_POST['matricula'],
'ncuenta' =>$_POST['ncuenta'],
'entidad' =>$_POST['entidad'],
'titular' =>$_POST['titular'];
)
$new_rtf = populate_RTF($vars, "'IMPRESO_MATRUCULA.rtf'");
$fr = fopen('formulario.rtf', 'w') ;
fwrite($fr, $new_rtf);
fclose($fr);

// clase php mailer para enviar formulario

require("class.phpmailer.php");
$mail = new PHPMailer();

$mail->Host = "localhost";
$mail->From = "[email protected]";
$mail->FromName = "Nombre del Remitente";
$mail->Subject = "Subject del correo";
$mail->AddAddress("[email protected]","Nombre 01");
$mail->AddAddress("[email protected]","Nombre 02");

$body .= "probando <i>PHPMailer<i>.<br><br>";
$mail->Body = $body;

$mail->AddAttachment("formulario.rtf", "formulario.rtf");
?>