>> Just looking for a pointer or functions I can use to do this...
>> 
>> I have a spreadsheet with a couple thousand entries that I'll be using for
>> populating a MySQL database. The spreadsheet has names listed in "last,
>> first" - the database I'll be populating has separate fields for first and
>> last names.
>> 
>> I exported the names column from the spreadsheet in tab-delimited format
>and
>> I figured I could come up with a quick PHP script that would open the text
>> file, find each instance of ", ", take all that's before that delimiter
>and
>> move it after all that's after that delimiter, inserting a tab in between.
>> So "last, first" would become "first[tab]last".
>> 
>> So far, I've gotten:
>> <?php
>>  $filename = "NAMES.txt"; //name the file...
>>  $fp = fopen($filename,"r+"); //open it...
>>  echo "Reading $filename...";
>> 
>>  $contents = fread($filename, filesize($filename)); //read it...
>> 
>>  $names = explode("\n", $contents);
>> 
>>  foreach($names as $name);
>>  echo "$name<br>";
>> 
>>  fclose($filename);
>> ?>

$file = file("NAMES.txt") or die("Could not open file");
$output = fopen("NAMES.out") or die("Could not open NAMES.out -- Do 'touch
NAMES.out; chmod 666 NAMES.out'  REMOVE NAMES.out when DONE!!!");
while(list(,$line) = each($file)){
  $fields = explode("\t", $fields);
  $name = $fields[3]; # 3 is probably wrong... Which field is last, first?
  $parts = explode(',', $name);
  $last = trim($parts[0]);
  $first = trim($parts[1]);
  $fields[3] = $last; # Again, 3 is the old name field.
  $fields[] = $first; # Take first name on to the end.
  $newline = implode("\t", $fields);
  $wrote = fputs($output, $newline);
  if ($wrote != strlen($newline)){
    echo "Only wrote $wrote of ", strlen($newline), " characters!<BR>\n";
}

-- 
Like Music?  http://l-i-e.com/artists.htm


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

Reply via email to