- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to Display Data from CSV file using PHP?
In this article, we will learn how to display data from a CSV file using PHP using fgetcsv(), str_getcsv and SplFileObject functions.
CSV file is a simple file format used to store data with comma-separated values, and each row in it represents a record in the tabular data. To read a CSV file using PHP, we will use the fgetcsv() function which reads a line from a CSV file and returns an array of values representing the CSV data present in that line.
Let’s understand this with the help of an example below −
Example 1
In this example, we will read a data CSV file using fgetcsv() function and display the values in a tabular format using HTML table tag.
The CSV file used in this example −
Data.csv
Name, Age, City John, 30, New York Mary, 25, Los Angeles Tom, 40, Chicago
Filename: index.php
<html lang="en"> <head> <title>How to Display Data from CSV file using PHP?</title> </head> <body> <h3>How to Display Data from CSV file using PHP?</h3> <?php $csvFile = fopen('Data.csv', 'r'); echo '<table>'; while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) { echo '<tr>'; foreach ($data as $value) { echo '<td>' . htmlspecialchars($value) . '</td>'; } echo '</tr>'; } echo '</table>'; fclose($csvFile); ?> </body> </html>
Example 2
In this example, we will read a Students CSV file containing their Name, Age, and Gender, and we will display their data in the tabular format using 3 different methods, using str_getcsv, fgetcsv, and SplFileObject methods respectively.
Students.csv
Name,Age,Gender John Doe,25,Male Jane Smith,30,Female Bob Johnson,40,Male Sara Lee,22,Female
Filename: index.php
<html lang="en"> <head> <title>How to Display Data from CSV file using PHP?</title> </head> <body> <h3>How to Display Data from CSV file using PHP?</h3> <!-- Method 1: str_getcsv --> <?php $csvData = file_get_contents('students.csv'); $rows = str_getcsv($csvData, "
"); // Split CSV data into rows echo '<h4>Method 1: str_getcsv</h4>'; echo '<table>'; echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>'; echo '<tbody>'; foreach ($rows as $row) { $values = str_getcsv($row, ","); // Split row into values echo '<tr>'; foreach ($values as $value) { echo '<td>' . htmlspecialchars($value) . '</td>'; } echo '</tr>'; } echo '</tbody></table>'; ?> <!-- Method 2: Combine fgetcsv() and HTML --> <?php echo '<h4>Method 2: Combine fgetcsv() and HTML</h4>'; $csvFile = fopen('students.csv', 'r'); echo '<table>'; echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>'; echo '<tbody>'; while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) { echo '<tr>'; foreach ($data as $value) { echo '<td>' . htmlspecialchars($value) . '</td>'; } echo '</tr>'; } echo '</tbody></table>'; fclose($csvFile); ?> <!-- Method 3: using SplFileObject --> <?php echo '<h4>Method 3: using SplFileObject</h4>'; $csvFile = new SplFileObject('students.csv', 'r'); $csvFile->setFlags(SplFileObject::READ_CSV); echo '<table>'; echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>'; echo '<tbody>'; foreach ($csvFile as $row) { echo '<tr>'; foreach ($row as $value) { echo '<td>' . htmlspecialchars($value) . '</td>'; } echo '</tr>'; } echo '</tbody></table>'; ?>
Conclusion
In conclusion, displaying data from a CSV file using PHP is a straightforward process using the fgetcsv() function. With the help of HTML tags, we easily displayed the data in a tabular format. By following the examples provided in this article, we learned to read and display data from CSV files in PHP, which can be useful in various applications.