csv到php读取整个目录

csv到php读取整个目录,php,csv,Php,Csv,有没有办法利用这个脚本?但是它不是读取一个文件而是读取整个目录?然后在网页上显示?目前它只显示1个csv文件。我不知道我是否能用glob来做这个。我的php知识正在提高,但我在这方面仍然很糟糕。XD <?PHP $file_handle = fopen("../test.csv", "r"); while (!feof($file_handle) ) { $line_of_text = fgetcsv($file_handle, 1024);

有没有办法利用这个脚本?但是它不是读取一个文件而是读取整个目录?然后在网页上显示?目前它只显示1个csv文件。我不知道我是否能用glob来做这个。我的php知识正在提高,但我在这方面仍然很糟糕。XD

<?PHP  

$file_handle = fopen("../test.csv", "r");  

while (!feof($file_handle) ) {  

$line_of_text = fgetcsv($file_handle, 1024);  

                echo '<tr><td>' . $line_of_text[0] . '</td><td>' . $line_of_text[1] . '</td><td>' . $line_of_text[2] . '</td><td>' . $line_of_text[3] . '</td><td>' . $line_of_text[4] . '</td></tr>'; 

                }  

fclose($file_handle);  

?> 

是的,您可以使用获取目录中的文件列表,然后使用
foreach()
循环这些文件并使用现有代码

<?php

$arrFiles = glob("../*.csv");
foreach($arrFiles as $strFileName) {
   $file_handle = fopen($strFileName, "r");  
   while (!feof($file_handle) ) {  
      $line_of_text = fgetcsv($file_handle, 1024);  
      echo '<tr><td>' . $line_of_text[0] . '</td><td>' . $line_of_text[1] . '</td><td>' . $line_of_text[2] . '</td><td>' . $line_of_text[3] . '</td><td>' . $line_of_text[4] . '</td></tr>'; 
   }  
   fclose($file_handle);  
}
根据修改的日期对输出进行排序 您需要做的是获取一个文件列表,然后获取其上次修改的时间,然后对该数组进行排序。例如:

$arrFiles = glob("../*.csv");
$arrSortedFiles = array();
foreach($arrFiles as $strFileName) {
   $arrSortedFiles[$strFileName] = filemtime($strFileName);
}
natsort($arrSortedFiles); //Sort naturally. Oldest first. 
foreach(array_keys($arrSortedFiles) as $strFileName) {
     //...
} 

但是,如果您希望以另一种方式排序—首先是最新的—然后只需使用
array\u reverse()

整个目录包含CSV文件,并且您希望将网页上1个目录中所有CSV文件的内容呈现在某种表中?是的,就是这样。而且还希望它们分开,但这是不可能的。你应该使用
$strFileName
而不是
。/test.csv
它可以工作,你的权利我应该限制它。有可能使用数组切片吗?谢谢@RaphaelMüller——c&p编码时的疏忽。是的
array\u slice
将为您做到这一点:)是否还有一种方法可以根据最后修改的日期对csv进行排序?是的,请参阅我的编辑
:)
$arrFiles = glob("../*.csv");
$arrSortedFiles = array();
foreach($arrFiles as $strFileName) {
   $arrSortedFiles[$strFileName] = filemtime($strFileName);
}
natsort($arrSortedFiles); //Sort naturally. Oldest first. 
foreach(array_keys($arrSortedFiles) as $strFileName) {
     //...
}