Mincer
12-17-2001, 03:02 PM
1) Is there an easy way to strip "'s from a text file using php?
It's not really feasible to do a s/r using a text editor as the files will be uploaded by a user and actioned directly rather than them passing through my control first.
2) How can I read a line at a time from a csv file before exploding it?
Say grab all characters into a string until \n and then process, then repeat in a loop until EOF
(I could do this in c++ - albeit a bit rusty now - but not really sure in php)
Any solutions greatly appreciated. :)
Matt.
--------------------------
If there's no way of easily reading the file a line at a time, is it a really bad idea to read a 1000+ line file in to an array in one go, and then exploding it into lines on \n, and then exploding each line at a time on the delimiter?
Lastly, if I do this, is this a good way of exploding a line at a time until EOF??
$filename = "file.txt";
$fp = fopen($filename, "r");
$file_contents = fread($fp, filesize($filename));
fclose($fp);
$lines = explode("\n", $file_contents);
// loop for as long as $lines is not EOF
while($i <= sizeof($lines)) {
// explode to get each field from line
$data = explode(";", $lines[$i]);
// do some stuff to enter fields into DB
// increment to continue looping
$i++;
}
I know that this will work ok for small files, but what would be a cut-off for 'small file' ??
It's not really feasible to do a s/r using a text editor as the files will be uploaded by a user and actioned directly rather than them passing through my control first.
2) How can I read a line at a time from a csv file before exploding it?
Say grab all characters into a string until \n and then process, then repeat in a loop until EOF
(I could do this in c++ - albeit a bit rusty now - but not really sure in php)
Any solutions greatly appreciated. :)
Matt.
--------------------------
If there's no way of easily reading the file a line at a time, is it a really bad idea to read a 1000+ line file in to an array in one go, and then exploding it into lines on \n, and then exploding each line at a time on the delimiter?
Lastly, if I do this, is this a good way of exploding a line at a time until EOF??
$filename = "file.txt";
$fp = fopen($filename, "r");
$file_contents = fread($fp, filesize($filename));
fclose($fp);
$lines = explode("\n", $file_contents);
// loop for as long as $lines is not EOF
while($i <= sizeof($lines)) {
// explode to get each field from line
$data = explode(";", $lines[$i]);
// do some stuff to enter fields into DB
// increment to continue looping
$i++;
}
I know that this will work ok for small files, but what would be a cut-off for 'small file' ??