Chris,

He's my take on your problem, I have used a few different functions but followed the same pattern as your original script. Check out http://www.php.net/manual/en/ to get the details on the ones you don't understand. I have not included error checking. This example works successfully on my system.
--Bob

<?php

$recp_list = file("mail_group_list.txt");

$group_list = file("file_group_list.txt");

$cnt = 0;
foreach($recp_list as $line) {
   $split = explode(',', $line);
   $id = trim($split[0]);
   $email = trim($split[1]);
   if($email != '') {
      foreach($group_list as $groupline) {
         $groupsplit = explode(",", $groupline);
         $groupid = trim($groupsplit[0]);
         $groupFileName = trim($groupsplit[1]);
         if($id == $groupid) {
            $cnt++;
            // start mailing
            $fromname = "Test Mailer";
            $fromaddress = "[EMAIL PROTECTED]";
            $subject = "Test mail";
            $message = "Test message $groupFileName";
            $headers = "From: $fromname <$fromaddress>\n";
            // Notify the user on screen if the send was succesfull
            if(mail($email, $subject, $message, $headers)) {
              print "Mail sent  successfully to $email";
            } else {
              print "Mail not sent to $email";
            }
         }
      }
   }
}
if(!$cnt) {
   print 'No matches in files.';
}
?>


Chris Grigor wrote:
Hey all,

I am having a bash at working with flat files.

What I am trying to achieve is the following

There are 2 files with info in them, file1 has
id,email

and file2 has id,filename

what I am trying to achieve is open up file1 get the id and email then
open file2 and match the id of file1 to id of file2, then if succesful
send a mail with the filename in file2.

Maybe have a look at the code...

$recp_list = fopen("mail_group_list.txt", "r");

while(!feof($recp_list))
{
        
        $line = fgets($recp_list, 255);
$line = chop($line);
        
                $split = explode(",", $line);
        
                $id = $split[0];
        $email = $split[1];
        
        // time to mail.

        if ($email != "") {
                                
                        

$group_list = fopen("file_group_list.txt", "r");

while(!feof($group_list))
{
$groupline = fgets($group_list, 255);

$groupline = chop($groupline);

$groupsplit = explode(",", $groupline);

$groupid = $groupsplit[0];
$groupFileName = $groupsplit[1];

if($groupid = $id)
{
                        

// start mailing
$fromname = "Test Mailer";
$fromaddress = "[EMAIL PROTECTED]"; $subject = "Test mail";
$message = "Test message $groupFileName";
$headers = "From: \"".$fromname."\" <".$fromaddress.">\n";
// Notify the user on screen if the send was succesfull
   if(mail($email, $subject, $message, $headers))

{ print "Mail sent successfully to $email";
                        }
                        else
                        {
                                print "Mail not sent to $email";
                        }
                
                                
                        }#end if groupid = id
}#end while group list
                }#end if email


}#end while email !=""
?>


So thats the mail.php

mail_list_group.txt looks like this
1,test@test.com
5,[EMAIL PROTECTED]
7,test@test.com

file_group_list.txt looks like this
2,filename1.doc
3,filename2.doc
4,filename3.doc

Any help on this would be great !

Cheers
Chris

PS the formatting might come out all wrong as its mailed from a web account.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to