File Handling, Reading, Writing, and Uploading Files

অনেক সময় আমাদের ওয়েবসাইটে ফাইল তৈরি করতে হয়, ফাইল থেকে ডেটা পড়তে হয় বা ইউজারের কাছ থেকে ফাইল আপলোড নিতে হয়। PHP এই কাজগুলো করার জন্য সহজ ও শক্তিশালী ফাংশন সরবরাহ করে। আজকের ব্লগে আমরা শিখব কীভাবে PHP দিয়ে ফাইল Reading (পড়া), Writing (লেখা) এবং Uploading (আপলোড) করা যায়।
১. PHP দিয়ে ফাইল পড়া (Reading Files)
PHP-তে ফাইল পড়ার জন্য প্রধান ফাংশন হলো fopen(), fread(), এবং fgets()।
উদাহরণ: ফাইল পড়া
<?php
$filename = "example.txt";
// ফাইল ওপেন করা হচ্ছে
$file = fopen($filename, "r") or die("ফাইল খোলা যায়নি!");
// ফাইলের কনটেন্ট পড়া
while(!feof($file)) {
echo fgets($file) . "<br>";
}
// ফাইল ক্লোজ করা
fclose($file);
?>
👉 এখানে "r" মানে হলো read mode।
২. PHP দিয়ে ফাইল লেখা (Writing Files)
PHP দিয়ে নতুন ফাইল তৈরি করা বা পুরোনো ফাইলে লেখা সম্ভব। এর জন্য fopen() এবং fwrite() ফাংশন ব্যবহার করা হয়।
উদাহরণ: ফাইল লেখা
<?php
$filename = "example.txt";
// ফাইল ওপেন করা হচ্ছে (write mode)
$file = fopen($filename, "w") or die("ফাইল খোলা যায়নি!");
// ফাইলে কনটেন্ট লেখা
$txt = "হ্যালো, এটি একটি টেস্ট ফাইল।\n";
fwrite($file, $txt);
$txt = "PHP ফাইল হ্যান্ডলিং শেখা খুবই মজার!\n";
fwrite($file, $txt);
// ফাইল ক্লোজ করা
fclose($file);
echo "ফাইল সফলভাবে লেখা হয়েছে!";
?>
👉 "w" মোডে ফাইল ওপেন করলে পুরোনো কনটেন্ট মুছে যাবে।
👉 নতুন কনটেন্ট যোগ করতে চাইলে "a" (append mode) ব্যবহার করা হয়।
৩. PHP দিয়ে ফাইল আপলোড (Uploading Files)
ওয়েবসাইটে ইউজারদের কাছ থেকে ফাইল আপলোড নিতে হলে HTML form এবং PHP এর $_FILES সুপারগ্লোবাল ব্যবহার করতে হয়।
HTML ফর্ম
<form action="upload.php" method="post" enctype="multipart/form-data">
ফাইল সিলেক্ট করুন:
<input type="file" name="fileToUpload">
<input type="submit" value="Upload File" name="submit">
</form>
PHP কোড (upload.php)
<?php
$target_dir = "uploads/"; // ফাইল সংরক্ষণের ফোল্ডার
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "ফাইল সফলভাবে আপলোড হয়েছে: " . basename($_FILES["fileToUpload"]["name"]);
} else {
echo "দুঃখিত, ফাইল আপলোড করা যায়নি।";
}
?>
👉 এখানে enctype="multipart/form-data" অবশ্যই ব্যবহার করতে হবে।
👉 move_uploaded_file() ফাংশন ফাইলটিকে টেম্পোরারি লোকেশন থেকে নির্দিষ্ট ফোল্ডারে সরিয়ে নেয়।
PHP ফাইল হ্যান্ডলিং ওয়েব ডেভেলপমেন্টে খুব গুরুত্বপূর্ণ। এর মাধ্যমে আমরা ফাইল থেকে তথ্য পড়তে পারি, নতুন ডেটা লিখতে পারি এবং ইউজারের কাছ থেকে ফাইল আপলোড নিতে পারি। বাস্তব জীবনের অনেক ওয়েব অ্যাপ্লিকেশনে (যেমন ব্লগ সাইট, ই-কমার্স, কন্টেন্ট ম্যানেজমেন্ট সিস্টেম) এই ফিচারগুলো ব্যবহৃত হয়।
আপনারা চাইলে ছোট ছোট প্রোজেক্টে ফাইল রিডিং, রাইটিং এবং আপলোডিং প্র্যাকটিস করতে পারেন। এতে করে ধারণা আরও পরিষ্কার হবে।




