On Wed, May 30, 2007 7:14 am, Bosky, Dave wrote: > I need to write a script to import '.csv' data files into MySQL. > > My question is how can I have a script execute and check a directory > every 4 hours for any '.csv' files and if it finds any calls a > function > to import them? Linux: man 5 crontab * */4 * * * /usr/local/bin/php -q import.php Windows: Scheduled Tasks [interminible dialogs here] -------- import.php -------- <?php //Untested code //Needs better error handling //Will not scale well to *large* .csv files... //Use mysql LOAD DATA IN FILE for large csv files $path = '/path/to/directory'; $dir = opendir($path) or die("Failed to open '$path'"); while (($file = readdir($dir)) !== false){ if ($file == '.' || $file == '..') continue; if (!preg_match('|.csv$|i', $file)){ echo "What's '$file' doing in the .csv import directory?\n"; continue; } $f = fopen("$path/$file", 'r'); if (!$f){ echo "Failed to open '$path/$file'\n"; continue; } while (!feof($f)){ $row = fgetcsv($f, 1000000); array_map('mysql_real_escape_string', $row); $row_sql = implode("', '", $row); $query = "insert into whatever values ('$row_sql')"; mysql_query($query) or die(mysql_error()); } } ?> -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php