Csv is a library to ease parsing, writing and filtering CSV in PHP. The library goal is to be powerful while remaining lightweight, by utilizing PHP native classes whenever possible.
- Easy to use API
- Read and Write to CSV documents in a memory efficient and scalable way
- Support PHP stream filtering capabilities
- Transform CSV documents into popular format (JSON, XML or HTML)
- Fully documented
- Fully unit tested
- Framework-agnostic
Full documentation can be found at csv.thephpleague.com.
You need the ext-filter
extension to use Csv
and the latest stable version of PHP is recommended.
Please find below the PHP support for Csv
version 9.
Min. Library Version | Min. PHP Version | Max. Supported PHP Version |
---|---|---|
9.0.0 | PHP 7.0.10 | PHP 7.1.x |
9.1.2 | PHP 7.0.10 | PHP 7.2.x |
9.2.0 | PHP 7.0.10 | PHP 7.4.x |
9.6.0 | PHP 7.2.5 | PHP 7.4.x |
9.6.2 | PHP 7.2.5 | PHP 8.0.x |
9.7.0 | PHP 7.3.0 | PHP 8.0.x |
9.7.3 | PHP 7.3.0 | PHP 8.1.x |
9.8.0 | PHP 7.4.0 | PHP 8.1.x |
9.9.0 | PHP 8.1.2 | PHP 8.x |
Install Csv
using Composer.
composer require league/csv:^9.0
Tip
If your CSV document was created or is read on a Legacy Macintosh computer, add the following lines before using the library to help PHP detect line ending.
if (!ini_get('auto_detect_line_endings')) {
ini_set('auto_detect_line_endings', '1');
}
Warning
The ini setting is deprecated since PHP version 8.1 and will be removed in PHP 9.0
The library has:
- a PHPUnit test suite.
- a coding style compliance test suite using PHP CS Fixer.
- a code analysis compliance test suite using PHPStan.
To run the tests, run the following command from the project folder.
composer test
Contributions are welcome and will be fully credited. Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see LICENSE for more information.