”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 PHP 显示 CSV 文件中的数据?

如何使用 PHP 显示 CSV 文件中的数据?

发布于2024-11-01
浏览:595

How to Display Data from CSV file using PHP?

在本文中,我们将学习如何使用 PHP 使用 fgetcsv()、str_getcsv 和 SplFileObject 函数显示 CSV 文件中的数据。

CSV 文件是一种简单的文件格式,用于存储以逗号分隔值的数据,其中的每一行代表表格数据中的一条记录。要使用 PHP 读取 CSV 文件,我们将使用 fgetcsv() 函数,该函数从 CSV 文件中读取一行并返回表示该行中存在的 CSV 数据的值数组。

让我们借助下面的示例来理解这一点 -

示例1

在此示例中,我们将使用 fgetcsv() 函数读取数据 CSV 文件,并使用 HTML 表格标签以表格格式显示值。

本例中使用的 CSV 文件 -

数据.csv

Name, Age, City
John, 30, New York
Mary, 25, Los Angeles
Tom, 40, Chicago

文件名:index.php


   How to Display Data from CSV file using PHP?


  

How to Display Data from CSV file using PHP?

'; while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) { echo ''; foreach ($data as $value) { echo '' . htmlspecialchars($value) . ''; } echo ''; } echo ''; fclose($csvFile); ?>

示例2

在此示例中,我们将读取包含姓名、年龄和性别的学生 CSV 文件,并且我们将使用 3 种不同的方法(分别使用 str_getcsv、fgetcsv 和 SplFileObject 方法)以表格格式显示他们的数据。

Students.csv

Name,Age,Gender
John Doe,25,Male
Jane Smith,30,Female
Bob Johnson,40,Male
Sara Lee,22,Female

文件名:index.php


   How to Display Data from CSV file using PHP?


  

How to Display Data from CSV file using PHP?

"); // Split CSV data into rows echo '

Method 1: str_getcsv

'; echo '
'; echo ''; echo ''; foreach ($rows as $row) { $values = str_getcsv($row, ","); // Split row into values echo ''; foreach ($values as $value) { echo ''; } echo ''; } echo '
NameAgeGender
' . htmlspecialchars($value) . '
'; ?> Method 2: Combine fgetcsv() and HTML'; $csvFile = fopen('students.csv', 'r'); echo ''; echo ''; echo ''; while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) { echo ''; foreach ($data as $value) { echo ''; } echo ''; } echo '
NameAgeGender
' . htmlspecialchars($value) . '
'; fclose($csvFile); ?> Method 3: using SplFileObject'; $csvFile = new SplFileObject('students.csv', 'r'); $csvFile->setFlags(SplFileObject::READ_CSV); echo ''; echo ''; echo ''; foreach ($csvFile as $row) { echo ''; foreach ($row as $value) { echo ''; } echo ''; } echo '
NameAgeGender
' . htmlspecialchars($value) . '
'; ?>

结论

总之,使用 PHP 显示 CSV 文件中的数据是使用 fgetcsv() 函数的简单过程。借助 HTML 标签,我们可以轻松地以表格格式显示数据。通过遵循本文提供的示例,我们学会了在 PHP 中读取和显示 CSV 文件中的数据,这在各种应用程序中都很有用。

版本声明 本文转载于:https://www.tutorialspoint.com/how-to-display-data-from-csv-file-using-php如有侵犯,请联系[email protected]删除
最新教程 更多>
  • HTML格式标签
    HTML格式标签
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    编程 发布于2025-03-13
  • \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    答案: 在大多数现代编译器中,while(1)和(1)和(;;)之间没有性能差异。编译器: perl: 1 输入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    编程 发布于2025-03-13
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月份)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将...
    编程 发布于2025-03-13
  • 如何准确测试``os. exit()`在GO中维护代码覆盖范围?
    如何准确测试``os. exit()`在GO中维护代码覆盖范围?
    在使用覆盖信息中测试OS.EXIT方案(coveralls.io/goveralls) 提出了修改的测试方法。 Rather than reinvoking the binary, testing is performed by modifying the os.Exit() or log.Fa...
    编程 发布于2025-03-13
  • 了解差异:为什么“ simpledateFormat” 2012 for'y'和2011年的“ y”输出
    了解差异:为什么“ simpledateFormat” 2012 for'y'和2011年的“ y”输出
    年('y')因此,'y'和'y'根据您是否需要工作年或日历年来提供不同的信息。
    编程 发布于2025-03-13
  • Python读取CSV文件UnicodeDecodeError终极解决方法
    Python读取CSV文件UnicodeDecodeError终极解决方法
    在试图使用已内置的CSV模块读取Python中时,CSV文件中的Unicode Decode Decode Decode Decode decode Error读取,您可能会遇到错误的错误:无法解码字节 在位置2-3中:截断\ uxxxxxxxx逃脱当CSV文件包含特殊字符或Unicode的路径逃...
    编程 发布于2025-03-13
  • 为什么使用固定定位时,为什么具有100%网格板柱的网格超越身体?
    为什么使用固定定位时,为什么具有100%网格板柱的网格超越身体?
    网格超过身体,用100%grid-template-columns 为什么在grid-template-colms中具有100%的显示器,当位置设置为设置的位置时,grid-template-colly修复了?问题: 考虑以下CSS和html: class =“ snippet-code”> g...
    编程 发布于2025-03-13
  • 如何找到包含特定单词的SQL行?
    如何找到包含特定单词的SQL行?
    SQL 中查找字段包含特定单词的行 问题: 您需要一个 SQL 查询,该查询返回表中所有指定字段包含给定列表中一个或多个单词的行。这些单词可以按任何顺序出现在字段中。 解决方案: 要检索字段包含任何指定单词的行,请使用带有通配符的 LIKE 运算符: SELECT * FROM MyTable W...
    编程 发布于2025-03-13
  • 如何在Java字符串中有效替换多个子字符串?
    如何在Java字符串中有效替换多个子字符串?
    在java 中有效地替换多个substring,需要在需要替换一个字符串中的多个substring的情况下,很容易求助于重复应用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    编程 发布于2025-03-13
  • 为什么不使用CSS`content'属性显示图像?
    为什么不使用CSS`content'属性显示图像?
    在Firefox extemers属性为某些图像很大,&& && && &&华倍华倍[华氏华倍华氏度]很少见,却是某些浏览属性很少,尤其是特定于Firefox的某些浏览器未能在使用内容属性引用时未能显示图像的情况。这可以在提供的CSS类中看到:。googlepic { 内容:url(&#...
    编程 发布于2025-03-13
  • Laravel Mix vs Vite:Laravel为何转向Vite
    Laravel Mix vs Vite:Laravel为何转向Vite
    资产捆绑是现代Web开发的核心组成部分,有助于优化和管理CSS,JavaScript和其他资源。多年来,Laravel Mix简化了此过程,但是随着JavaScript工具的发展,Laravel已转变为Laravel 11中的默认值。 为什么Laravel做了此开关? [2 性能和速...
    编程 发布于2025-03-13
  • 如何使用组在MySQL中旋转数据?
    如何使用组在MySQL中旋转数据?
    在关系数据库中使用mySQL组使用mySQL组进行查询结果,在关系数据库中使用MySQL组,转移数据的数据是指重新排列的行和列的重排以增强数据可视化。在这里,我们面对一个共同的挑战:使用组的组将数据从基于行的基于列的转换为基于列。 Let's consider the following ...
    编程 发布于2025-03-13
  • 阿尔比恩异教徒要塞:位置详解+探索攻略
    阿尔比恩异教徒要塞:位置详解+探索攻略
    [2 教程对PayPal注册过程进行了全面的介绍,重点介绍了付款数据传输(PDT)和即时付款通知(IPN)流程。它包括详细的说明,示例和图表来说明这些过程。 教程解释说,PDT使买方可以从商家的网站重定向到PayPal网站进行付款,然后返回商人的网站。另一方面,IPN可以作为买家在付款后关闭浏览器的...
    编程 发布于2025-03-13
  • 如何克服PHP的功能重新定义限制?
    如何克服PHP的功能重新定义限制?
    克服PHP的函数重新定义限制在PHP中,多次定义一个相同名称的函数是一个no-no。尝试这样做,如提供的代码段所示,将导致可怕的“不能重新列出”错误。 但是,PHP工具腰带中有一个隐藏的宝石:runkit扩展。它使您能够灵活地重新定义函数。 runkit_function_renction_re...
    编程 发布于2025-03-13
  • 对象拟合:IE和Edge中的封面失败,如何修复?
    对象拟合:IE和Edge中的封面失败,如何修复?
    To resolve this issue, we employ a clever CSS solution that solves the problem:position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%)...
    编程 发布于2025-03-13

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3