1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
# CSV
[](https://github.com/thephpleague/csv/releases)
[](LICENSE)
[](https://github.com/thephpleague/csv/actions?query=workflow%3A%22build%22)
[](https://packagist.org/packages/league/csv)
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 features whenever possible.
## Highlights
- Straightforward API
- Read from and Write to CSV documents in a memory efficient and scalable way
- Flexible and powerful query features and array to object mapping.
- Transform CSV documents into popular format (`JSON`, `XML` or `HTML`)
- Support PHP stream filtering capabilities
- Fully documented
- Fully unit tested
- Framework-agnostic
## Documentation
Full documentation can be found at [csv.thephpleague.com](https://csv.thephpleague.com).
## System Requirements
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.3.x |
| 9.16.0 | PHP 8.1.2 | PHP 8.x |
## Install
Install `Csv` using Composer.
```bash
composer require league/csv:^9.0
```
## Configuration
> [!WARNING]
> **Starting with PHP8.4 Deprecation notices will be trigger if you do not explicitly set the escape parameter.**
> see [Deprecation for PHP8.4](https://wiki.php.net/rfc/deprecations_php_8_4#deprecate_proprietary_csv_escaping_mechanism) and [CSV and PHP8.4](https://nyamsprod.com/blog/csv-and-php8-4/)
> [!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](http://php.net/manual/en/function.fgetcsv.php#refsect1-function.fgetcsv-returnvalues).
```php
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**
## Testing
The library has:
- a [PHPUnit](https://phpunit.de) test suite.
- a coding style compliance test suite using [PHP CS Fixer](https://cs.symfony.com/).
- a code analysis compliance test suite using [PHPStan](https://github.com/phpstan/phpstan).
To run the tests, run the following command from the project folder.
```bash
composer test
```
## Contributing
Contributions are welcome and will be fully credited. Please see [CONTRIBUTING](.github/CONTRIBUTING.md) and [CONDUCT](.github/CODE_OF_CONDUCT.md) for details.
## Security
If you discover any security related issues, please email nyamsprod@gmail.com instead of using the issue tracker.
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Credits
- [ignace nyamagana butera](https://github.com/nyamsprod)
- [All Contributors](https://github.com/thephpleague/csv/graphs/contributors)
## License
The MIT License (MIT). Please see [LICENSE](LICENSE) for more information.
|