2

我有一个名为 CSVimporter V3 for PHP 的脚本,我曾经在网站上运行它,它运行良好。几年后,我现在挖出了相同的脚本以在另一个项目中使用,除了 CSV 文件被读取为一长行,而不是标题行和多行之外,一切正常。

这是脚本的一部分。

任何想法为什么它会被读成一长串?

<?php 

//  Reference session variable for short-hand
        $f = &$_SESSION['csv_file'];

        //  Open file - fp = file pointer
        if (!$fp = @fopen($f, 'r')) {

            error(L_ERROR_PREVIEW_NO_FILE);

        } else {

            //  Array to store each row to be inserted
            $batch = array();

            //  Row counter
            $rc = 0;

            //  Work out starting row
            switch ($_SESSION['csv_first_row']) {
                case 'data':
                    $start_row = 0;
                break;

                default:
                    $start_row = 1;
            }

            //  Get contents, while below preview limit and there's data to be read
            while ($data = fgetcsv($fp, 1024, delimiter_to_char($_SESSION['csv_delimiter']))) {

                if ($rc < $start_row) {

                    //  Incremement counter
                    $rc++;

                    //  Go to next loop
                    continue;

                } else {

                    //  Array to store data to be inputted
                    $values = array();

                    //  Loop data
                    for ($i = 0; $i < count($data); $i++) {

                        //  If data is wanted, put data into array
                        if (array_key_exists($i, $column_index)) {
                            $values[$column_index[$i]] = $data[$i];
                        }

                    }

                    //  Sort array into correct order by index
                    ksort($values);

                    //  Join values together and store in array
                    $batch[] = '("' . implode('", "', str_replace('"', '\"', $values)) . '","'.$accti.'","'.$impt.'")';

                }

            }


        }
            //  Close the file
            fclose($fp); 
4

1 回答 1

1

我在代码顶部添加了这个,现在一切正常!

ini_set('auto_detect_line_endings', true);
于 2013-03-14T11:30:00.420 回答