ফাইল হ্যান্ডেলিং হল ওয়েব ডেভেলপমেন্টে একটি অত্যন্ত গুরুত্বপূর্ণ পার্ট। এটি নিয়মিতই ব্যবহার করতে হয়।
PHP আপনাকে ফাইল তৈরি, পড়া, লেখা, মুছা এবং ফাইলের উপরে কাজ করার সুযোগ দেয়। এজন্য অনেক শক্তিশালী ফাংশন রয়েছে। এই আর্টিকেলে আমরা PHP-তে ফাইল হ্যান্ডেলিংয়ের বেসিক কনসেপ্ট এবং বিভিন্ন ফাংশন সম্পর্কে আলোচনা করব। চলুন শুরু করি।
১. ফাইল ওপেন করা (Opening Files)
PHP-তে ফাইল ওপেন করতে fopen() ফাংশন ব্যবহার করা হয়। এটি আপনাকে ফাইলের মধ্যে কাজ করার জন্য একটি ফাইল পয়েন্টার দেয়।
ফাইল ওপেন করার সময় আপনাকে একটি ফাইল মোড দিতে হবে। এটি বলে দেয় আপনি ফাইলটি পড়া, লেখা নাকি অ্যাপেন্ড করতে চান।
Syntax:
$file = fopen("filename.txt", "r");
ফাইল মোডের উদাহরণ:
→ “r” : পড়ার জন্য (ফাইলের শুরু থেকে)
→ “w” : লেখার জন্য (ফাইলটি যদি না থাকে, তাহলে নতুন ফাইল তৈরি করবে)
→ “a” : অ্যাপেন্ড করার জন্য (শেষে নতুন কনটেন্ট যোগ করবে)
২. ফাইলের কনটেন্ট পড়া (Reading Files)
ফাইল থেকে কনটেন্ট পড়তে fread(), fgets(), বা file_get_contents() ব্যবহার করা হয়। যেমন,
$file = fopen("filename.txt", "r");
$content = fread($file, filesize("filename.txt"));
echo $content;
fclose($file);
এখানে, fread() ফাংশন ফাইলের পূর্ণ কনটেন্ট পড়ে দেয়। তবে আপনাকে ফাইলের সাইজ অবশ্যই নির্ধারণ করে দিতে হবে। না হলে হবে না।
বিকল্প উপায়েও কাজটি করতে পারেন। যেমন,
→ fgets() – এক লাইনের ডাটা পড়বে।
→ file_get_contents() – পুরো ফাইল একক স্ট্রিং হিসেবে পড়বে (এটি অনেক বেশি সহজ)
৩. ফাইলে ডেটা লেখা (Writing to Files)
ফাইলের মধ্যে ডেটা লেখার জন্য fwrite() ব্যবহার করা হয়। আপনি যদি নতুন ফাইল তৈরি করতে চান, তবে “w” বা “a” মোডে ফাইল ওপেন করতে হবে। কোড হবে অনেকটা এরকম,
$file = fopen("filename.txt", "w");
fwrite($file, "This is a new line in the file.");
fclose($file);
এখানে, “w” মোডে ফাইল ওপেন করা হয়েছে, যা ফাইলটি নতুন করে লেখার জন্য খুলেছে।
বিকল্প উপায়:
→ file_put_contents() – একটি সহজ ফাংশন, যেটি একেবারে দ্রুত ফাইল লিখতে সাহায্য করে।
৪. ফাইল বন্ধ করা (Closing Files)
কাজ শেষ। এবার ফাইল বন্ধ করতে হবে। তাই না?। ফাইল বন্ধ করতে fclose() ফাংশন ব্যবহার করা হয়। যেমন,
fclose($file);
ফাইল বন্ধ করা একদম জরুরি, কারণ ফাইলটি খোলা থাকলে সিস্টেম রিসোর্স এবং মেমরি ব্লক হতে পারে।
৫. ফাইল মুছে ফেলা (Deleting Files)
ফাইল মুছে ফেলতে unlink() ফাংশন ব্যবহার করা হয়।
if (unlink("filename.txt")) {
echo "File deleted successfully";
} else {
echo "Error deleting file";
}
এটি একটি সিম্পল ফাংশন, যেটি ফাইল মুছে ফেলবে যদি ফাইলটি উপস্থিত থাকে আরকি।
৬. ফাইলের সাইজ পাওয়া (Getting File Size)
ফাইলের সাইজ জানতে filesize() ফাংশন ব্যবহার করা হয়। অর্থাৎ,
$file_size = filesize("filename.txt");
echo "File size is " . $file_size . " bytes";
এটি ফাইলের সাইজ (বাইটস হিসেবে) রিটার্ন করবে।
৭. ফাইল এক্সিস্টেন্স চেক করা (Checking If File Exists)
ফাইলটি সিস্টেমে আছে কিনা, তা চেক করতে file_exists() ব্যবহার করা হয়। এর কোডটি এরকম হবে,
if (file_exists("filename.txt")) {
echo "The file exists!";
} else {
echo "The file does not exist.";
}
এটি ফাইলটি আছে কি না তা নিশ্চিত করবে। এবং তা ব্যবহার করার আগে আপনি সঠিকভাবে কাজ করতে পারবেন।
ফাইল হ্যান্ডেলিংয়ের সিকিউরিটি কিভাবে মেইনটেইন করবেন?
১. ইউজারের আপলোড করা ফাইলের এক্সটেনশন এবং MIME টাইপ যাচাই করুন, যাতে সিকিউরিটি সমস্যা না হয়।
২. ফাইলের পাথ ইনপুট থেকে সরাসরি ব্যবহার না করে স্যানিটাইজ করুন।
৩. ফাইলের অ্যাক্সেস রাইট এবং পারমিশন সঠিকভাবে সেট করুন।
সুতরাং আমরা বুঝতে পারছি যে,
PHP-তে ফাইল হ্যান্ডেলিংয়ের মাধ্যমে ফাইল রিলেটেড বিভিন্ন ধরনের কাজ করা যায়। যেমন ফাইল তৈরি, পড়া, লেখা, মুছা এবং ফাইলের সাইজ চেক করতে পারবেন।
এই ফাংশনগুলো আপনার ওয়েব অ্যাপ্লিকেশনকে আরও শক্তিশালী ও কার্যকরী করবে। তবে, নিরাপত্তা বিষয়টি মাথায় রেখে সঠিকভাবে ফাইল হ্যান্ডেলিং নিশ্চিত করতে হবে।