php - PHP - while (!feof()) 不处理最后一行
问题描述
我的代码没有读到最后一行,你知道为什么吗?除 CSV 文件中的最后一行外,所有行都已处理
$cpt = 0;
$fp = fopen("$file", "r");
while (!feof($fp))
{
$cpt++;
if($cpt == 1) // First line
{
$line = fgets($fp,4096);
$data = explode( ";",$line);
}
if($data[0] != "") // Last line
{
// Insert DB
$line = fgets($fp3,4096); // Next line
$data = explode( ";",$ligne3);
}
}
谢谢!
解决方案
用于fgetcsv
读取 CSV 文件。下面的示例一次读取一行 CSV 文件,以分解格式直接读取到$data
-array 中。
$fp = fopen("$file", "r");
while(!feof($fp)) {
//Reads the current line of CSV-file into $data
$data = fgetcsv($fp, 0, ";");
}
在此处阅读更多信息fgetcsv
:https ://www.w3schools.com/php/func_filesystem_fgetcsv.asp
推荐阅读
- javascript - 如何将新数据输入推送到列表顶部
- django - 如何在 Django 中正确设置 AJAX
- javascript - 使用快速路由显示 React 页面
- javascript - 我从 for 循环中获得的数组总和返回 NaN (Javascript)
- javascript - ReactJS — 创建 Refs 并访问 DOM 元素以使用 fullpage.js
- nestjs - 如果存在 uid 选项,则返回特定用户,否则返回整个用户列表
- glsl - OpenGL:将 RGBA 转换为浮点数
- swift - 从 Firestore 快照更新 ChatModel 字典中的现有项目
- python - 如何使用 python boto3 将文件和文件夹从一个 S3 存储桶复制到另一个 S3
- c# - 如何在 Xamarin.forms 的 ListView 中显示 ListView