php读取csv文件类

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
    <?php   
      
    define("CSV_Start",    0);   
    define("CSV_Quoted",   1);   
    define("CSV_Quoted2",  2);   
    define("CSV_Unquoted", 3);   
      
    function readCSV($fh, $len, $delimiter = ',', $enclosure = '"') {   
        $data = Array();   
        $fildNr = 0;   
        $state = CSV_Start;   
          
        $data[0] = "";   
          
        do {   
            $line = fgets($fh, $len);   
            for ($ix = 0; $ix < strlen($line); $ix++) {   
                if ($line[$ix] == $delimiter) {   
                    if ($state != CSV_Quoted) {   
                        $fildNr++;   
                        $data[$fildNr] = "";   
                        $state = CSV_Start;   
                    } else {   
                        $data[$fildNr] .= $line[$ix];   
                    }   
                } elseif ($line[$ix] == $enclosure) {   
                    if ($state == CSV_Start) {   
                        $state = CSV_Quoted;   
                    } elseif ($state == CSV_Quoted) {   
                        $state = CSV_Quoted2;   
                    } elseif ($state == CSV_Quoted2) {   
                        $data[$fildNr] .= $line[$ix];   
                        $state = CSV_Quoted;   
                    } else {   
                        $data[$fildNr] .= $line[$ix];   
                    }   
                } else {   
                    $data[$fildNr] .= $line[$ix];   
                    if ($state == CSV_Quoted2) {   
                        echo "error";   
                    } elseif ($state == CSV_Start) {   
                        $state = CSV_Unquoted;   
                    }   
                }   
            }   
        } while ($state == CSV_Quoted);   
        
        return $data;     
    }   
      
    ?>  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇: php将阳历转换为阴历

下一篇: jquery注册文本框获取焦点清空,失去焦点赋值