বাংলায় পিএইচপি
  • শুরুর আগে
  • ইনস্টলেশন
  • ল্যাঙ্গুয়েজ ব্যাসিকস
  • ভ্যারিয়েবল ও ডাটা টাইপস
  • কন্সট্যান্টস, এক্সপ্রেশনস ও অপারেটরস
  • কন্ট্রোল স্ট্রাকচারস
  • ফাংশনস
  • মাস্টারিং এ্যারে
  • কমন এ্যারে ফাংশনস
  • অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
    • ক্লাস এবং অবজেক্ট
    • মেথড এবং প্রোপার্টি
    • স্ট্যাটিক ও নন-স্ট্যাটিক কনটেক্সট
    • ইনহেরিট্যান্স
    • ভিজিবিলিটি
    • কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর
    • ইন্টারফেইস
    • এ্যাবস্ট্রাকশন
    • ট্রেইটস
    • ম্যাজিক মেথডস
  • নেইমস্পেইস
  • ফাইলসিস্টেম
  • ডিজাইন প্যাটার্ন
    • সিঙ্গেলটোন
    • অবজার্ভার
    • অ্যাডাপ্টার
    • ফ্যাক্টরী
    • ডিপেন্ডেন্সি ইনজেকশন
    • ফ্যাসাড
    • স্ট্রাটেজি
    • ইটারেটর
    • প্রক্সি
    • ডেকোরেটর
Powered by GitBook
On this page
  • ডিরেক্টরী তৈরি করা
  • ডিরেক্টরী ব্রাউজ করা
  • ডিরেক্টরী ডিলিট করা
  • ফাইল তৈরি করা / ফাইলে কন্টেন্ট যোগ করা
  • ফাইল পড়া
  • ফাইল ডিলিট করা

ফাইলসিস্টেম

এই চ্যাপ্টারে আমরা পিএইচপির ডিরেক্টরী এবং ফাইল সম্পর্কিত কিছু ব্যাসিক অপারেশন দেখবো । এখানে দেখানো পদ্ধতি ছাড়াও আরো নানা পদ্ধতিতে একই কাজ করা যেতে পারে । আপাতত আমরা একটি করে পদ্ধতি দেখবো । পরবর্তীতে আমরা আরো এ্যাডভান্সড ব্যবহার দেখবো ।

ডিরেক্টরী তৈরি করা

আমরা নতুন একটি ডিরেক্টরী বা ফোল্ডার তৈরি করতে পারি mkdir ফাংশনটি ব্যবহার করে ।

<?php
$success = mkdir("test_dir", 0755);
var_dump($success);

এখানে আমরা আমাদের কারেন্ট লোকেশনে test_dir নামে একটি ডিরেক্টরী তৈরি করেছি যেটার পার্মিশন লেভেল - 0755 । পার্মিশন সম্পর্কে আরো বিস্তারিত জানতে লিনাক্স ফাইল পার্মিশন এর উপর গুগলে সার্চ করতে পারেন ।

এই ফাংশনটি ৩য় আরেকটি বুলিয়ান আর্গুমেন্ট নেয় - যদি আমরা চাই নেস্টেড ডিরেক্টরী তৈরি করতে (যেমন: "my_dir/sub_dir/another_dir") তাহলে এই প্যারামিটার এর জন্য আমরা true পাস করবো । অন্যথায় পিএইচপি এরর থ্রো করবে ।

<?php
$success = mkdir("my_dir/sub_dir/another_dir", 0755, true);
var_dump($success);

ডিরেক্টরী ব্রাউজ করা

আমরা কোন ডিরেক্টরী এর কন্টেন্ট ব্রাউজ করার জন্য scandir ফাংশনটি ব্যবহার করতে পারি ।

<?php
$dir    = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, SCANDIR_SORT_NONE);

print_r($files1);
print_r($files2);

এই ফাংশনটির প্রথম প্যারামিটার ফাইল পাথ এ্যাক্সেপ্ট করে । যেই ডিরেক্টরীর কন্টেন্ট আমরা ব্রাউজ করতে চাই সেটির পাথ আমরা এই আর্গুমেন্ট হিসেবে পাস করবো । ২য় প্যারামিটারটি আমরা সর্টিং এর জন্য ব্যবহার করি । এটির ভ্যালু হিসেবে আমরা এই ৩টি কন্সট্যান্ট এর যে কোনটি পাস করতে পারি:

  • SCANDIR_SORT_ASCENDING

  • SCANDIR_SORT_DESCENDING

  • SCANDIR_SORT_NONE

এই প্যারামিটারটির জন্য ডিফল্ট ভ্যালু হিসেবে SCANDIR_SORT_ASCENDING থাকে ।

ডিরেক্টরী ডিলিট করা

rmdir ফাংশনটি ব্যবহার করে আমরা কোন ডিরেক্টরী ডিলিট করতে পারি:

<?php
rmdir('examples');

তবে ডিরেক্টরী ডিলিট করার আগে নিশ্চিত হতে হবে যে এই ডিরেক্টরীটি ফাকা আছে কিনা । যদি এটির মধ্যে অন্য কোন ফাইল বা সাব ডিরেক্টরী থাকে তবে আগে সেগুলো ডিলিট করে নিতে হবে ।

ফাইল তৈরি করা / ফাইলে কন্টেন্ট যোগ করা

file_put_contents ফাংশনটি ব্যবহার করে আমরা একটি ফাইলের কন্টেন্ট ওভাররাইট করতে পারি । যদি ঐ ফাইলটি আগে থেকে তৈরি করা না থাকে তাহলে ফাংশনটি ফাইলটি তৈরি করে নেয় ।

<?php
$file = 'people.txt';
$text = "Abu Ashraf Masnun\n";
file_put_contents($file, $text);

ডিফল্টভাবে পিএইচপি ফাইলের কন্টেন্ট ওভাররাইট করে, অর্থাৎ আগের সব কিছু মুছে ফেলে নতুন করে কন্টেন্ট যোগ করে । আমরা যদি চাই আগের কন্টেন্টের সাথে অতিরিক্ত নতুন কন্টেন্ট যোগ করতে তাহলে আমরা ৩য় আর্গুমেন্ট হিসেবে FILE_APPEND কন্সট্যান্টটি পাস করবো । যেমন:

<?php
$file = 'people.txt';
$text = "The Doctor\n";
file_put_contents($file, $text, FILE_APPEND);

এবার যদি আমরা ফাইলটি খুলি তাহলে দেখবো আমাদের আগের কন্টেন্ট এর সাথে এই নতুন টেক্সট যোগ হয়েছে ।

ফাইল পড়া

file_get_contents ফাংশনটিতে কোন ফাইল পাথ পাস করলে এটি ঐ ফাইলের কন্টেন্ট রিটার্ন করবে ।

<?php
$file = file_get_contents('./people.txt');

মজার একটা ব্যাপার হচ্ছে এই ফাংশনটি ওয়েব এ্যাড্রেসও সাপোর্ট করে, অর্থাৎ ওয়েবে থাকা কোন কন্টেন্টও আপনি পড়তে পারবেন এভাবে:

<?php
$content = file_get_contents("http://masnun.com");
var_dump($content);

ফাইল ডিলিট করা

ফাইল ডিলিট করার জন্য আমরা unlink ফাংশনটি ব্যবহার করি ।

<?php
unlink("./people.txt");
Previousনেইমস্পেইসNextডিজাইন প্যাটার্ন

Last updated 6 years ago