>> 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