PHP:
CSV এর সাথে কাজ করা

কিভাবে:

PHP সিএসভি ফাইলগুলি সম্ভালার জন্য বিল্ট-ইন ফাংশন প্রদান করে, যা এই ফাইলগুলিতে পড়তে এবং লিখতে তৃতীয়-পক্ষের লাইব্রেরির প্রয়োজন ছাড়াই সরল করে তোলে। শুরু করতে নিচের উদাহরণগুলি দেখুন:

একটি CSV ফাইল পড়া

fopen() এর সঙ্গে fgetcsv() ব্যবহার করে একটি CSV ফাইল ওপেন করে এর কন্টেন্ট পড়তে পারেন:

<?php
$filename = 'data.csv';
$handle = fopen($filename, "r");
if ($handle !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "লাইনে ফিল্ডের সংখ্যা: $num\n";
        for ($c = 0; $c < $num; $c++) {
            echo $data[$c] . "\n";
        }
    }
    fclose($handle);
}
?>

এই স্ক্রিপ্ট প্রতিটি লাইনের ফিল্ডের সংখ্যা এবং প্রতিটি ফিল্ডের কন্টেন্ট প্রিন্ট করে।

একটি CSV ফাইলে লেখা

CSV ফাইলে লেখার জন্য, fopen() কে লেখার মোড (w) এ এবং fputcsv() ব্যবহার করুন:

<?php
$list = [
    ['ID', 'Name', 'Email'],
    [1, 'John Doe', '[email protected]'],
    [2, 'Jane Doe', '[email protected]']
];

$handle = fopen('users.csv', 'w');

foreach ($list as $row) {
    fputcsv($handle, $row);
}

fclose($handle);
?>

এই স্ক্রিপ্টটি users.csv নামে একটি ফাইল তৈরি করে এবং এতে হেডার এবং দুটি ডেটা সারি লেখে।

লাইব্রেরি ব্যবহার: League\Csv

আরও উন্নত CSV হ্যান্ডলিংয়ের জন্য, League\Csv লাইব্রেরি একটি শক্তিশালী ফিচার সেট অফার করে। Composer (composer require league/csv) এর মাধ্যমে ইনস্টল করার পর, আপনি CSV ডেটা আরও নমনীয়ভাবে পড়তে এবং লিখতে তা ব্যবহার করতে পারেন।

League\Csv দিয়ে পড়া

<?php
require 'vendor/autoload.php';

use League\Csv\Reader;

$csv = Reader::createFromPath('data.csv', 'r');
$csv->setHeaderOffset(0); // যদি আপনি প্রথম সারিকে হেডার হিসেবে ব্যবহার করতে চান

$results = $csv->getRecords();
foreach ($results as $row) {
    print_r($row);
}
?>

এই স্ক্রিপ্টটি data.csv পড়ে, প্রথম সারিকে কলাম হেডার হিসেবে বিবেচনা করে এবং প্রতিটি সারিকে একটি এসোসিয়েটিভ অ্যারে হিসেবে প্রিন্ট করে।

League\Csv দিয়ে লেখা

<?php
require 'vendor/autoload.php';

use League\Csv\Writer;

$csv = Writer::createFromPath('users_new.csv', 'w+');

$csv->insertOne(['ID', 'Name', 'Email']);
$csv->insertAll([
    [3, 'Alex Doe', '[email protected]'],
    [4, 'Anna Smith', '[email protected]']
]);

echo "users_new.csv এ সফলভাবে লেখা হয়েছে।";
?>

এটি users_new.csv তৈরি করে এবং এতে একটি হেডার সারি অনুসরণে দুটি ডেটা সারি লেখে।