Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Csv Laravel Package

league/csv

View on GitHub
Deep Wiki
Context7

layout: default title: Force Enclosure description: A Stream filter to force enclosure around CSV fields - deprecated feature

Force field enclosure

With Writer objects

public static EncloseField::addTo(Writer $csv, string $sequence): Writer

The EncloseField::addTo method will:

  • register the stream filter if it is not already the case.
  • add a formatter to the Writer object to force fputcsv to enclose all record fields.
  • add a stream filter to the Writer object to remove the added sequence from the final CSV.
use League\Csv\EncloseField;
use League\Csv\Writer;

$writer = Writer::from('php://temp');
EncloseField::addTo($writer, "\t\x1f"); //adding the stream filter to force enclosure
$writer->insertAll($iterable_data);
$writer->output('mycsvfile.csv'); //outputting a CSV Document with all its fields enclosed

With PHP Streams

public static EncloseField::register(): void
public static EncloseField::getFiltername(): string

To use this stream filter outside League\Csv objects you need to:

  • register the stream filter using EncloseField::register method.
  • use EncloseField::getFiltername with one of PHP's attaching stream filter functions with the correct arguments as shown below:
use League\Csv\EncloseField;

EncloseField::register();

$sequence = "\t\x1f";

$resource = fopen('/path/to/my/file', 'r+');
$filter = stream_filter_append($resource, EncloseField::getFiltername(), STREAM_FILTER_WRITE, [
    'sequence' => $sequence,
]);

$record = array_map(function ($value) use ($sequence) {
    return $sequence.$value;
}, $record);

fputcsv($resource, $record);
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport