Comment

Working with Files

Read a File: fread() & fgets()

Estimated reading: 2 minutes 10 views Contributors

সারসংক্ষেপঃ এই টিউটোরিয়ালে, আপনি শিখবেন কিভাবে বিভিন্ন বিল্ট-ইন PHP ফাংশন ব্যবহার করে একটি ফাইল পড়তে হয়।


একটি ফাইলের বিষয়বস্তু পড়তে, আপনি এই পদক্ষেপগুলি অনুসরণ করবেনঃ

  • ফাইলটি পড়ার জন্য প্রথমে fopen() ফাংশন ব্যবহার করে ফাইলটি খুলুন।
  • এরপর fread() ফাংশন ব্যবহার করে ফাইল থেকে বিষয়বস্তু পড়ুন।
  • শেষে fclose() ফাংশন ব্যবহার করে ফাইলটি বন্ধ করুন। 

এটি সেই fread() ফাংশনের সিনট্যাক্সঃ

fread ( resource $stream , int $length ) : string|false

fread() ফাংশনের দুটি প্যারামিটার রয়েছেঃ

  • $stream হল একটি ফাইল সিস্টেম পয়েন্টার রিসোর্স, যা সাধারণত fopen() ফাংশনের ফলস্বরূপ হয়।
  • $length হল সর্বাধিক বাইটের সংখ্যা যা পড়া হবে। যদি আপনি সম্পূর্ণ ফাইলটি পড়তে চান, তাহলে আপনি $length প্যারামিটারে ফাইলটির আকার (ফাইল সাইজ) পাস করতে পারেন।

fread() ফাংশন ফাইলের বিষয়বস্তু return দেয় অথবা যদি পড়া ব্যর্থ হয় তবে এটি false return দেয়।

fread() ফাংশন পড়া বন্ধ করে দেয় যখন $length সংখ্যক বাইট পড়া হয়ে যায় অথবা ফাইলের শেষ (EOF) পৌঁছে যায়।

ফাইল পয়েন্টার ফাইলের শেষ (EOF) এ পৌঁছেছে কি না তা পরীক্ষা করতে, আপনি এটি feof() ফাংশনে পাস করতে পারেনঃ

feof ( resource $stream ) : bool

feof() ফাংশন true return দেয় যদি $stream ফাইলের শেষ (EOF) এ পৌঁছে যায় অথবা কোনও ত্রুটি ঘটে। অন্যথায়, এটি false return দেয়।

একটি ফাইল লাইন বাই লাইন পড়তে, আপনি fgets() ফাংশন ব্যবহার করেনঃ

fgets ( resource $handle , int $length = ? ) : string|false

fread() ফাংশনের মতো, fgets() ফাংশনও একটি ফাইল সিস্টেম পয়েন্টার রিসোর্স এবং পড়ার জন্য সর্বাধিক বাইটের সংখ্যা গ্রহণ করে।

যদি আপনি $length আর্গুমেন্টটি বাদ দেন, তবে fgets() ফাংশন সম্পূর্ণ লাইনটি পড়বে।

PHP read file examples

এখন আমরা কিছু উদাহরণ দেখে নেবো কিভাবে একটি ফাইল পড়া যায়ঃ

১) পুরো ফাইলটি একটি স্ট্রিং হিসেবে পড়ুন।

ধরা যাক, আপনার একটি ফাইল রয়েছে যার নাম population.txt, এবং এটি public ডিরেক্টরিতে অবস্থান করছে, যার মধ্যে নিম্নলিখিত বিষয়বস্তু রয়েছেঃ

1	New York	 New York	8,253,213
2	Los Angeles	 California	3,970,219
3	Chicago	 Illinois	2,677,643
4	Houston	 Texas	2,316,120
5	Phoenix	 Arizona	1,708,127
6	Philadelphia Pennsylvania	1,578,487
7	San Antonio	 Texas	1,567,118
8	San Diego	 California	1,422,420
9	Dallas	 Texas	1,343,266
10	San Jose	 California	1,013,616

নিম্নলিখিত উদাহরণটি fread() ফাংশন ব্যবহার করে population.txt ফাইলটির পুরো বিষয়বস্তু একটি স্ট্রিং হিসেবে পড়ে এবং এটি web page- প্রদর্শন করেঃ

<?php

$filename = './public/population.txt';
$f = fopen($filename, 'r');

if ($f) {
    $contents = fread($f, filesize($filename));
    fclose($f);
    echo nl2br($contents);
}

কিভাবে কাজ করেঃ

প্রথমে, fopen() ফাংশন ব্যবহার করে population.txt ফাইলটি খোলা হয়ঃ

$f = fopen($filename, 'r');

দ্বিতীয়ত, fread() ফাংশন ব্যবহার করে পুরো ফাইলের বিষয়বস্তু পড়ুন; ফাইলটির আকার জানার জন্য filesize() ফাংশন ব্যবহার করুনঃ

$contents = fread($f, filesize($filename));

তৃতীয়ত, ফাইলের বিষয়বস্তু একটি web page- এ প্রদর্শন করুন; নতুন লাইনের চিহ্নগুলিকে <br> ট্যাগে রূপান্তর করতে nl2br() ফাংশন ব্যবহার করুন।

echo nl2br($contents);

শেষে, fclose() ফাংশন ব্যবহার করে ফাইলটি বন্ধ করুন।

NOTE:  file_get_contents() ফাংশন একটি শর্টকাট যা একটি ফাইল খুলে, সম্পূর্ণ ফাইলের বিষয়বস্তু একটি স্ট্রিংয়ে পড়ে এবং তারপর ফাইলটি বন্ধ করে।

২) একটি ফাইল থেকে কিছু  Characters পড়ুন।

একটি ফাইল থেকে কিছু Character পড়তে, আপনি পড়ার জন্য বাইটের সংখ্যা নির্দিষ্ট করেন। নিম্নলিখিত উদাহরণটি fread() ফাংশন ব্যবহার করে population.txt ফাইল থেকে ১০০ বাইট পর্যন্ত পড়েঃ

<?php

$filename = './public/population.txt';
$f = fopen($filename, 'r');
if ($f) {
    $contents = fread($f, 100);
    fclose($f);
    echo nl2br($contents);
}

Output:

1 New York  New York 8,253,213
2 Los Angeles  California 3,970,219
3 Chicago  Illinois 2,677,64

৩) একটি ফাইল লাইন বাই লাইন পড়ুন।

নিম্নলিখিত উদাহরণটি fgets() ফাংশন ব্যবহার করে population.txt ফাইলটি লাইন বাই লাইন পড়েঃ

<?php

$filename = './public/population.txt';
$lines = [];

$f = fopen($filename, 'r');

if (!$f) {
    return;
}

while (!feof($f)) {
    $lines[] = fgets($f);
}

print_r($lines);

fclose($f);

সারসংক্ষেপঃ

  • fread() ফাংশন ব্যবহার করে একটি ফাইল থেকে কিছু বা সমস্ত বিষয়বস্তু পড়ুন।
  • fgets() ফাংশন ব্যবহার করে একটি লাইন পড়ুন।
  • feof() ফাংশন ব্যবহার করে পরীক্ষা করুন যে ফাইলের শেষ (EOF) পৌঁছেছে কিনা।
  • filesize() ফাংশন ব্যবহার করে ফাইলের আকার পান।

Leave a Comment

Share this Doc

Read a File: fread() & fgets()

Or copy link

CONTENTS

Subscribe

×
Cancel