Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用具有分隔符的PHP解析文件\t_Php_Csv_Xls - Fatal编程技术网

使用具有分隔符的PHP解析文件\t

使用具有分隔符的PHP解析文件\t,php,csv,xls,Php,Csv,Xls,是否有一种方法可以使用PHP解析文件(没有扩展名)。文件中的列用tab(/t)分隔。我需要把每一个单元格和它的内容排成一行 我尝试了以下方法 1) 将文件转换(复制并粘贴内容并保存为csv文件)到 CSV并尝试读取每一行,但所有行内容都作为一行内容出现 $row = 1; if (($handle = fopen("mynew.csv", "r")) !== FALSE) { while (($row = fgetcsv($handle, 1000, "\t")) !== FALSE)

是否有一种方法可以使用PHP解析文件(没有扩展名)。文件中的列用tab(/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);
}    
$row=1;
if($handle=fopen(“mynew.csv”,“r”)!==FALSE){
while(($row=fgetcsv($handle,1000,“\t”))!==FALSE){
$row++;
回声“******
”; foreach($行作为$单元格){ echo$cell.“
”; } 回声“******
”; } fclose($handle); }
2) 试图通过将(复制并粘贴为另存为xls)转换为xls文件来读取该文件。在这里,每行中的整个列被视为一列。我使用PHPExcel图书馆阅读了这里的内容


使用PHP解析一个没有扩展名的文件的内容有什么解决方法吗?

在读取文件时,您从不指定该文件的扩展名。您可以执行以下代码以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);
}
$row=1;
if($handle=fopen(“testFile”,“r”))!==FALSE){
while(($row=fgetcsv($handle,1000,“\t”))!==FALSE){
$row++;
foreach($行作为$单元格){
echo$cell.“
”; } } fclose($handle); }
扩展与PHP完全无关,它不会将它们用于任何用途。您的分析错误,period.code或它没有happen@deceze解析对于格式良好的文件很有效,我相信代码也很好。对于“格式良好”的文件和那些没有扩展名的文件,内部格式是否完全相同?如果文件的唯一区别是文件扩展名,那么从文件中看不到任何错误是没有意义的。文件中没有错误,只是有问题的文件的任何列中都会有一个换行符,其余列中的内容将出现在下一行(如果我们用word打开这些文件)。我检查了正常文件和有问题文件的分隔符,两者似乎相同(\t)。我已经尝试过了。但是它将整个csv作为一行返回,并且没有识别换行符。这适用于普通csv文件。但是我有一些文件在csv的某些字段中有“\n”和“\r”,这些文件在排序行和列时有问题。