我们有这个遥测设备,它通过将csv文件发送到我们的服务器来更新数据。 数据将每15分钟在csv文件中自动更新一次。 每天都会上传一个新的csv文件。 该文件将每月存储在一个文件夹中,这意味着设备将自动创建一个新文件夹。 (例如文件路径:.. \ database \ AWLR \ 2018 \ 10)
CSV文件名是一种日期格式(例如:20181002.CSV)。 有时由于我们将设备放置在偏远地区,因此不会更新数据,因此,如果可能的话,我想显示最新数据。
我想在网站的表格中自动显示最新数据。 我尝试使用php在数组中打开csv文件,但是代码仅显示csv文件的第一行(最旧的数据),而我想显示最后一行(最新的数据)。
我尝试过的代码
$files_location = "database/";
function latest_file_Name ($files_location) {
$openDir = opendir($files_location);
while (false !== ($fileName = readdir($openDir))) {
if($fileName != "." && $fileName != "..")
{
$list[date("YmdHis ", filemtime($files_location.$fileName))]=$fileName;
}
}
rsort($list);
$last_file =array_shift($list);
return $last_file;
}
$last_file_in_folder = latest_file_Name($files_location);
pre_r($last_file_in_folder);//newest file name
$f_pointer=fopen("database/".$last_file_in_folder,"r"); // file pointer
$ar=fgetcsv($f_pointer);
pre_r($ar);//display data of newest file in array
是否可以使用php或任何其他languange /方法显示最新数据? 任何帮助将不胜感激
这是csv文件csv的链接
答案 0 :(得分:0)
$ files_location =“数据库/”;
function latest_file_Name ($files_location) {
$openDir = opendir($files_location);
while (false !== ($fileName = readdir($openDir))) {
if($fileName != "." && $fileName != "..")
{
$list[date("YmdHis ", filemtime($files_location.$fileName))]=$fileName;
}
}
rsort($list);
$last_file =array_shift($list);
return $last_file;
}
$last_file_in_folder = latest_file_Name($files_location);
// print_r($last_file_in_folder);//newest file name
$f_pointer=fopen($files_location .$last_file_in_folder,"r"); // file pointer
while (!feof($f_pointer)) {
$ar=fgetcsv($f_pointer);
print_r($ar);//display data of newest file in array
}