ফাংশন glob

ফাংশন glob একটি প্রদত্ত প্যাটার্নের সাথে মিলে যাওয়া ফাইল এবং ডিরেক্টরি খোঁজে। প্রথম প্যারামিটারে একটি সার্চ প্যাটার্ন সহ একটি স্ট্রিং পাস করা হয়। দ্বিতীয় ঐচ্ছিক প্যারামিটার ফাংশনের আচরণ পরিবর্তনের জন্য ফ্ল্যাগ সেট করে।

সিনট্যাক্স

phpglob(pattern, [flags]);

ফ্ল্যাগ

ফ্ল্যাগ বর্ণনা
GLOB_MARK প্রতিটি ফেরত দেওয়া ডিরেক্টরিতে একটি স্ল্যাশ / যোগ করে।
GLOB_NOSORT ডিরেক্টরিতে যেভাবে আছে সেই ক্রমে ফাইলগুলি ফেরত দেয় (সাজানো ছাড়া)।
GLOB_NOCHECK কোনও মিল না পাওয়া গেলে সার্চ প্যাটার্ন ফেরত দেয়।
GLOB_NOESCAPE ব্যাকস্ল্যাশগুলি মেটা-অক্ষরগুলিকে এস্কেপ করে না।
GLOB_BRACE একাধিক প্যাটার্ন অনুসন্ধানের জন্য {a,b,c} প্রসারিত করে।
GLOB_ONLYDIR শুধুমাত্র প্যাটার্নের সাথে মিলে যাওয়া ডিরেক্টরি ফেরত দেয়।
GLOB_ERR পড়ার ত্রুটিতে বন্ধ করুন (উদাহরণস্বরূপ, অ্যাক্সেসের অনুমতি নেই)।

উদাহরণ

বর্তমান ডিরেক্টরিতে .txt এক্সটেনশন সহ সমস্ত ফাইল খুঁজে বের করা যাক:

php<?php
  $res = glob('*.txt');
  print_r($res);
?>

কোড এক্সিকিউশনের ফলাফল:

php['file1.txt', 'file2.txt', 'notes.txt']

উদাহরণ

'test' দিয়ে শুরু হওয়া যেকোনো এক্সটেনশন সহ সমস্ত ফাইল খুঁজে বের করা যাক:

php<?php
  $res = glob('test*');
  print_r($res);
?>

কোড এক্সিকিউশনের ফলাফল:

php['test.php', 'test.txt', 'test_image.jpg']

উদাহরণ

একাধিক প্যাটার্ন অনুসন্ধানের জন্য GLOB_BRACE ফ্ল্যাগ ব্যবহার করা:

php<?php
  $res = glob('*.{php,txt}', GLOB_BRACE);
  print_r($res);
?>

কোড এক্সিকিউশনের ফলাফল:

php['index.php', 'config.php', 'readme.txt']

উদাহরণ

GLOB_RECURSE ফ্ল্যাগ ব্যবহার করে সাবডিরেক্টরিতে ফাইল খোঁজা:

php<?php
  $res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
  print_r($res);
?>

কোড এক্সিকিউশনের ফলাফল:

php['index.php', 'lib/utils.php', 'admin/index.php']

আরও দেখুন

  • ফাংশন scandir,
    যা একটি ডিরেক্টরির বিষয়বস্তু পড়ে
  • ফাংশন file_exists,
    যা একটি ফাইলের অস্তিত্ব পরীক্ষা করে
  • ফাংশন is_file,
    যা একটি ফাইল পরীক্ষা করে