Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * readcsv.php
- */
- if(!isset($argv[1])){
- echo "php {$argv[0]} csvfile";
- exit;
- }
- $handle = @fopen($argv[1], 'r');
- $flug = false;
- $buff = null;
- while($line = fgets($handle)){
- $line = mb_convert_encoding($line, 'UTF-8', 'Shift_JIS');
- $temp = str_replace('""', '', $line);
- $temp = str_replace('\"', '', $temp);
- //改行処理
- if(!$flug){
- if(substr_count($temp, '"')%2 == 1){
- $buff = $line;
- $flug = true;
- continue;
- }
- } else {
- if(substr_count($temp, '"')%2 == 1){
- $line = $buff . $line;
- $flug = false;
- $buff = null;
- } else {
- $buff .= $line;
- continue;
- }
- }
- //分割
- $csv = explode(",", $line);
- $data = null;
- $buff = null;
- foreach($csv as $value){
- if(!$flug){
- if(substr_count($value, '"')%2 == 1){
- $buff = $value;
- $flug = true;
- continue;
- }
- } else {
- if(substr_count($value, '"')%2 == 1){
- $value = $buff . ','.$value;
- $flug = false;
- $buff = null;
- } else {
- $buff .= ','.$value;
- continue;
- }
- }
- $data[] = trim($value);
- }
- var_dump($data);
- }
- fclose($handle);
- ?>
Add Comment
Please, Sign In to add comment