PHP code example of jdefez / laravel-csv
1. Go to this page and download the library: Download jdefez/laravel-csv library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jdefez / laravel-csv example snippets
use Jdefez\LaravelCsv\Facades\Csv;
$file = new SplFileObject('path-to-my-file.csv', 'r');
if ($file->isReadable()) {
$reader = Csv::reader($file);
foreach ($reader->read() as $row) {
// returns an array with the row's values
}
}
$reader = Csv::reader(new SplFileObject('path-to-my-file.csv', 'r'))
->withHeadings();
// Given a file
//
// lastname;firstname;date of birth
// Jacky;Terror;1875-02-12
// Julian;Nightmare;1815-11-11
$reader = Csv::reader(new SplFileObject('path-to-my-file.csv', 'r'))
->keyByColumnName()
foreach ($reader->read() as $row) {
//array(
// "firstname" => "Jacky",
// "lastname" => "Terror",
// "date_of_birth" => "1875-02-12"
//)
//...
}
// Given a file
//
// lastname;firstname;birthdate
// Jacky;Terror;1875-02-12
// Julian;Nightmare;1815-11-11
$reader = Csv::reader(new SplFileObject('path-to-my-file.csv', 'r'))
->toObject()
foreach ($reader->read() as $row) {
//object(stdClass)#277 (2) {
// ["firstname"]=> string(4) "Jacky"
// ["lastname"]=> string(5) "Terror"
// ["date_of_birth"]=> string(13) "1875-02-12"
//}
// ...
}
$iterator = Csv::reader(new SplFileObject('path-to-my-file.csv', 'r'))
->toObject()
->read(fn ($item) => UserDataBuilder::make(
$item->firstname,
$item->lastname,
$item->date_of_birth,
);
foreach ($iterator as $userData) {
if ($userData->isValid()) {
User::create($userData);
}
}
// Fixing encoding from ISO to UTF-8
$reader = $reader->setToEncoding('UTF-8')
->setSearchEncodings(['ISO-8859-15', 'ISO-8859-1'])
->toObject();
$collection = collect([
['Jacky', 'Terror', '1875-02-12'],
['Julian', 'Nightmare', '1815-11-11'],
// ...
]);
Csv::writer()
->setFile(new SplFileObject('path-to-my-file.csv', 'w'))
->setColumns(['firstname', 'lastname', 'date of birth'])
->setData($collection)
->write();
$collection = collect([
['firstname', 'lastname', 'date_of_birth'],
['Jacky', 'Terror', '1875-02-12'],
['Julian', 'Nightmare', '1815-11-11'],
// ...
]);
$writer = Csv::writer()->setFile(new SplFileObject('path-to-my-file.csv', 'w'));
$collection->each(fn ($line) => $writer->put($line));
$models = Users::all();
$writer = Csv::writer(new SplFileObject('path-to-my-file.csv', 'w'));
$writer->setData($models)
->write(fn ($item) => [
$item->firstname,
$item->lastname,
$item->birthday->format('Y-m-d')
]);
// Or iterate over the collection and append each line to the file.
$models->each(fn ($model) => $writer->put(fn () => [
$model->firstname,
$model->lastname,
$model->birthday->format('Y-m-d')
]);