Parsing text files in PHP with FlatfileTools

By admin | August 13, 2008

Compdigitec FlatfileTools is a API written in PHP to manipulate, read and modify plain text databases. It can also manipulate existing databases, such as CSV files. It is released under the GNU General Public License and therefore is free software.

<?php

include_once(‘flatfiletools.lib.php’);

// The rest of your code goes here…

?>

For example, to parse the following CSV file – name it testdb.csv. Make sure there is no extra newline at the bottom. (UNIX line endings. To parse Windows/DOS line endings, change line in config.ini to “\r\n”). Do not forget to change config.ini’s div setting to “,”:

• From div = “|”
• To div = “,”

Software,License Linux,GPL Mozilla Firefox,GPL+LGPL+MPL Compdigitec FlatfileTools,GPL 

Use the following code:

 <?php// Include flatfiletoolsinclude_once('flatfiletools.lib.php');// Create new db and set file$f = new FlatfileTools();$f->set_datafile('testdb.csv');// Populate - WARNING: Due to a bug in FlatfileTools v1.0, true means failure and false means success in this function.if($f->populate()) { echo "An error happened on line 8 during a call to populate().\n";};// Get number of lines$lines = $f->get_number_of_lines();// Output table headerecho "<table border=\"1\">";// Until the last line get linefor($i = 0; $i <=$lines; $i++) {$var = $f->get_line($i);    if($var === false) { echo "An error happened on line 16 during a call to get_line() - Current Row Number is$i. \n";    } else {        echo "<tr>";        if($i == 0) { foreach($var as $val) { echo "<th>$val</th>";            }        } else {            foreach($var as$val) {                echo "<td>\$val</td>";            }        };        echo "</tr>";    };}// Output footerecho "</table>";?> 

If you run this code and receive the error “An error happened on line 16 during a call to get_line() – Current Row Number is 5. ” , it’s because your CSV file has an extra newline at the bottom of it. You can supress this error by commenting out the error on line 18.

So as you can see, Compdigitec FlatfileTools is an powerful API to manipulate, parse and read flat text files in PHP. The example above could have easily been customized to manipulate tab delimited text files by changing config.ini’s div to “\t” instead. You can also write to text files with this API – read the full documentation for more details.

Topics: HTTP (Internet), Linux, PHP, Windows | 10 Comments »

10 Responses to “Parsing text files in PHP with FlatfileTools”

1. Aliases for common command line typos at Compdigitec Labs Says:
August 24th, 2008 at 20:08

[…] one word for each typo) and parse it with Compdigitec FlatfileTools. If you don’t know how, read the article on it. Note: both the alias list and the CSV version use UNIX/Linux encoding […]

2. digital transformation providers Says:
February 10th, 2022 at 12:43

[…] Info on that Topic: compdigitec.com/labs/2008/08/13/parsing-text-files-in-php-with-flatfiletools/ […]

3. plumbing companies 14543 Says:
February 14th, 2022 at 16:55

[…] Read More on on that Topic: compdigitec.com/labs/2008/08/13/parsing-text-files-in-php-with-flatfiletools/ […]

4. Firearms For Sale Says:
March 18th, 2022 at 19:28

[…] Info on that Topic: compdigitec.com/labs/2008/08/13/parsing-text-files-in-php-with-flatfiletools/ […]

5. คาสิโนออนไลน์เว็บตรง Says:
April 19th, 2022 at 03:46

[…] Here you can find 73287 more Information to that Topic: compdigitec.com/labs/2008/08/13/parsing-text-files-in-php-with-flatfiletools/ […]

6. sbo Says:
June 16th, 2022 at 23:39

[…] Read More on that Topic: compdigitec.com/labs/2008/08/13/parsing-text-files-in-php-with-flatfiletools/ […]

7. Marlin Firearms For Sale Says:
June 25th, 2022 at 10:52

8. สล็อตวอเลท ไม่มีขั้นต่ำ Says:
July 12th, 2022 at 18:27

[…] Read More on that Topic: compdigitec.com/labs/2008/08/13/parsing-text-files-in-php-with-flatfiletools/ […]

9. www.spellcasting.biz/prayer-to-overcome-lifes-storms/ Says:
August 21st, 2022 at 09:55