fgetcsv 在 PHP 中带有换行符问题



>我在Windows系统上有一个csv文件,我从Mac上获取,数据看起来像

ID526526526526

所以你可以看到没有新行没有分隔符,但它仍然说csv文件。但是我有以下代码,它是

$csvFile = 'MonC1.csv';
$allRowsAsArray = array();
if (!$fp=fopen($csvFile,"r")) echo "The file could not be opened.<br/>";  
while (( $data = fgetcsv ( $fp , 0 , ',')) !== FALSE ) 
{
    $allRowsAsArray[] = $data;
}
echo '<pre>';
print_r($allRowsAsArray );
echo '</pre>';

现在,当我在浏览器中打印数据时,它看起来像

    Array
    (
        [0] => Array
            (
                [0] => ID
                526
                526
                526
            )
   );

现在我被困住了,因为我无法使用 fputcsv 使用新行创建另一个正确分隔的 csv 文件。

非常欢迎任何帮助。提前谢谢。

检测行尾时出现问题。尝试在运行 fopen 之前打开auto_detect_line_endings

ini_set('auto_detect_line_endings', TRUE);
$csvFile = 'MonC1.csv';
$allRowsAsArray = array();
if (!$fp=fopen($csvFile,"r")) echo "The file could not be opened.<br/>";  
while (( $data = fgetcsv ( $fp , 0 , ',')) !== FALSE ) 
{
    $allRowsAsArray[] = $data;
}
echo '<pre>';
print_r($allRowsAsArray );
echo '</pre>';

最新更新