2015-03-19 116 views
-1

有没有一种方法来解析文件(没有扩展名)使用PHP。文件中的列用tab(/ t)分隔。我需要将每个单元格与其内容连成一行。使用PHP分析文件,其中有分隔符 t

我尝试以下转换(复制方法

1)并粘贴的内容和文件保存为CSV文件) CSV并试图读取每一行,但所有行的内容来作为一个单行内容。

$row = 1; 

if (($handle = fopen("mynew.csv", "r")) !== FALSE) { 
    while (($row = fgetcsv($handle, 1000, "\t")) !== FALSE) { 
     $row++; 
     echo "******* <br />"; 
     foreach ($row as $cell) { 
      echo $cell . "<br/>"; 
     } 

     echo "******* <br />"; 
    } 

    fclose($handle); 
}  

2)试图通过转换(复制并粘贴为xls文件)到xls文件来读取文件。这里将每行中的整列视为一列。我在这里使用PHPExcel库来读取内容。

是否有任何解决使用PHP没有扩展名的文件的内容?

+3

扩展与PHP完全不相关,它不会将它们用于任何事情。你的解析是错误的,句号。 – deceze 2015-03-19 07:07:49

+1

代码或它没有发生 – Tschallacka 2015-03-19 07:10:15

+0

@deceze解析工作正常,格式良好的文件,我敢肯定代码很好。 – 2015-03-19 08:49:57

回答

0

读取文件时,您永远不会指定该文件的扩展名。你可以这样做代码来读取无扩展名的文件为CSV:

$row = 1; 

if (($handle = fopen("testFile", "r")) !== FALSE) { 
    while (($row = fgetcsv($handle, 1000, "\t")) !== FALSE) { 
     $row++; 

     foreach ($row as $cell) { 
      echo $cell . "<br/>"; 
     } 
    } 

    fclose($handle); 
} 
+0

我已经试过了。但它会将整个csv作为单行返回,并且不会识别换行符。这适用于正常的csv文件。但我有一些文件在csv的某些字段中具有'\ n'和'\ r',这些文件在排列行和列时遇到了问题。 – 2015-03-19 07:34:31