Hola a todos, tengo este script que me recibe un archivo txt y logré separarlo por salto de línea para que me tome los nombres de unas personas y genere un certificado de asistencia a un evento para cada persona, todo funciona bien, me genera el archivo con el nombre correspondiente pero ahora el cliente necesita que esos certificados sean enviados por correo electrónico a cada persona, estoy subiendo el archivo ya no en .txt si no en csv pero la verdad no he encontrado como separarlo para que en un lado me quede el nombre y en otro el correo para asi poder enviarlo con una función que ya tengo, ¿alguien me hecha la mano?
Código PHP:
Ver originalrequire('fpdf/fpdf.php');
define("UPLOAD_DIR", "uploads/");
function getNombres( $file ){
return $arr;
}
function processFile($myFile){
if ($myFile["error"] !== UPLOAD_ERR_OK) {
echo "<p>An error occurred.</p>";
}
// ensure a safe filename
$name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]);
// don't overwrite an existing file
$i = 0;
$i++;
$name = $parts["filename"] . "-" . $i . "." . $parts["extension"];
}
// preserve file from temporary directory
if (!$success) {
echo "<p>Unable to save file.</p>";
}
// set proper permissions on the new file
//chmod(UPLOAD_DIR . $name, 0644);
return UPLOAD_DIR . $name;
}
}
/* creates a compressed zip file */
function create_zip
($files = array(),$destination = '',$overwrite = false) {
if(file_exists($destination) && !$overwrite) { return false; }
foreach($files as $file) {
$valid_files[] = $file;
}
}
}
//if we have good files...
if(count($valid_files)) { $zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
foreach($valid_files as $file) {
$zip->addFile($file,($file));
}
//debug
//echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;
$zip->close();
}else{
return false;
}
}
$folder = $_POST['destino']."/";
$source = processFile($_FILES['source']);
$bg = processFile($_FILES['bg']);
$dir = 'resultado/'.$folder.'';
$formato = array($_POST['ancho'] , $_POST['alto']);
}
$arr = getNombres($source);
$cont = 0;
'x' => $_POST['posx']? $_POST['posx'] : 40,
'y' => $_POST['posy']? $_POST['posy'] - 10 : 40
);
switch ($_POST['textAlign']) {
case 'C':
$pos['x'] = $pos['x']-20;
break;
case 'R':
$pos['x'] = $pos['x']-40;
break;
}
foreach($arr as $file ){
if( $file == '' ) continue;
if($_POST['unArchivo'] == 0 || $cont == 0){
$pdf=new FPDF("L","mm",$formato);
}
$pdf->AddPage();
$pdf->SetMargins(0,0,0);
$pdf->Image($bg, 0, 0,$_POST['ancho'],$_POST['alto']);
$pdf->SetFont($_POST['fontFamily'],'B',$_POST['fontSize']);
$pdf->SetXY($pos['x'], $pos['y']);
$pdf->Cell(40,10,$file,0,0,$_POST['textAlign']);
if($_POST['unArchivo'] == 0){
$filename = $dir.$filename.".pdf";
$pdf->Output($filename,"F");
$archivos[] = $filename;
}
$cont++;
}
if($_POST['unArchivo'] == 1){
$pdf->Output($dir."/certificados.pdf","F");
$archivos[] = $dir."/certificados.pdf";
}
//create_zip($archivos, UPLOAD_DIR.'resultado.zip', true);
unlink(UPLOAD_DIR
.$_FILES['source']['name']); unlink(UPLOAD_DIR
.$_FILES['bg']['name']);
//header('Location: download.php?f='.UPLOAD_DIR.'resultado.zip');
$msj = $cont." Certificados generados satisfactoriamente";
}
?>
De antemano muchas gracias