hi mark! i import data all the dang time and this is what i use (more or less)
<? $file = file("sompath/somefile.csv"); for($a=1;$a<count($file);$a++) { $d = csv_parse($file[$a],","); $first_name = make_safe($d[0]); $last_name = make_safe($d[1]); $company_name = make_safe($d[2]); $address_1_1 = make_safe($d[3]); $address_1_2 = make_safe($d[4]); $city = make_safe($d[5]); $state = make_safe($d[6]); $zipcode = make_safe($d[7]); $country = make_safe($d[8]); $start_date = make_safe($d[9]); $query = "some insert sql"; $db->Insert($query); // i use a class for my mysql connections } function csv_parse($data, $separator) { $quote = '"'; $values = array(); $toggle = 0; $len = strlen($data); $count = 1; for ($i = 0; $i < $len; $i++) { $tmp = substr ($data, $i, 1); if (strcmp($tmp, $quote) == 0) { $toggle = $toggle ^ 1; } $value = $value . $tmp; if (strcmp($tmp, $separator) == 0) { if (! $toggle) { # End of word $value = ereg_replace(",$", "", $value); $value = ereg_replace("^\"", "", $value); $value = ereg_replace("\"$", "", $value); $value = ereg_replace("\"+", "\"", $value); $num_of_elems = count($values); $values[$num_of_elems] = $value; $value = ""; } } } $value = ereg_replace("^\"", "", $value); $value = ereg_replace("\"$", "", $value); $value = ereg_replace("\"+", "\"", $value); $num_of_elems = count($values); $values[$num_of_elems] = $value; return ($values); } function make_safe($text) { $text = preg_replace("/(\cM)/", " ", $text); $text = preg_replace("/(\c])/", " ", $text); $text = str_replace("\r\n", " ", $text); $text = str_replace("\x0B", " ", $text); $text = str_replace('"', " ", $text); $text = explode("\n", $text); $text = implode(" ", $text); $text = addslashes(trim($text)); return($text); } On Sun, 2003-03-09 at 18:02, Mark Tehara wrote: > HI, I'm looking to take the data from a CSV file, then upload it into a > mysql databace. > > I figure i will need the following. > > To count the number of lines ... and cut up each line in its veriables then > entering it into the databace. > > I have: > > $file = fopen("pricelist-snippet.csv","r"); > $buffer = fread($file,10000); > echo $buffer; > > This dumps the data to the screen ... > > where would i start to making cutting this data up by the line? > > / Mark > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php