Adam Williams wrote: > Shawn McKenzie wrote: >> This may be best handled in your sorting code. What does it look like? >> > > yeah just a second ago a big lightbulb went off in my head and i fixed > my code to add a \r\n on saving, and strip it on viewing. I sort on > viewing, not sort on saving. The viewing code looks like: > > $biglist = ""; > > $filename = "/usr/local/majordomo/lists/".$edit; > > $fp = fopen($filename, "r") or die ("Couldn't open $filename"); > if ($fp) > { > while (!feof($fp)) > { > $thedata = fgets($fp); > $buildingvar[] = $thedata; > } > sort($buildingvar); > foreach ($buildingvar as $key => $val) > { > if ($val != "\r\n") //gets rid of empty > whitespace lines > { > $biglist .= "$val"; > } > > } > > } > > //$biglist gets echo'd into a textarea box below. > > but now right before it is saved, i'll add a new line > > $list .="\r\n"; > > $fp = fopen($filename, "w") or die ("Couldn't open $filename"); > if ($fp) > { > fwrite($fp, $list); > echo " > <head><title>Saving Page</title> > <link rel=stylesheet href=/maillist.css type=\"text/css\"> > </head> > Your mailing list has been updated."; > } > > fclose($fp); > > so that upon viewing, if they didn't press enter, a \r\n will be added, > and even if they did add press enter on the last line, it'll be stripped > out upon viewing the list of email addresses. > > > Taking your code, reworking it a little, this is what I came up with. <?php # Define & collect variables $biglist = ""; # Input list from form in browser $list = $_GET['list']; # Define your source file $filename = "/usr/local/majordomo/lists/".$edit; # Check output/input file(s) !is_file( $filename ) or die("File '{$filename}' does not exist."); !is_readable( $filename ) or die("I cannot read file '{$filename}'."); !is_writeable( $filename ) or die("I cannot write to file '{$filename}'."); # Read file $file_list = file( $filename ); # Clean up input from file $file_list = array_map( 'trim', $file_list ); # Clean up input from form in browser $list = array_map( 'trim', $list ); # Merge the two list together $merged_list = array_merge( $list, $file_list ); # Sort stuff sort( $merged_list ); # store the data back into the source file. if ( file_put_contents( $filename, join(PHP_EOL, $merged_list) ) ) { $msg = 'Your mailing list has been updated.'; } else { $msg = 'Your mailing list could not be saved.'; } # Display message to user echo "<head><title>Saving Page</title><link rel=stylesheet href=/maillist.css type=\"text/css\"></head><body>{$msg}</body>"; ?> Hope this helps -- Jim Lucas "Some men are born to greatness, some achieve greatness, and some have greatness thrust upon them." Twelfth Night, Act II, Scene V by William Shakespeare -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php