ভূমিকা
glob:// স্ট্রিম র্যাপার PHP 5.3.0 এর পরের সব ভার্সনে উপলব্ধ। এটি দিয়ে প্যাটার্ন ম্যাচ করে পাথনেম খুঁজে বের করা যায়। PHP-এর ফাইলসিস্টেম ফাংশন glob()ও একই কাজ করে যা libc glob() রুল ফলো করে।
প্যারামিটার
স্পেশ্যাল ক্যারেক্টার
- * — শূন্য বা অধিক ক্যারেক্টার ম্যাচ করে।
- ? — সঠিক একটি ক্যারেক্টার ম্যাচ করে (যেকোনো ক্যারেক্টার)।
- [...] — একটি গ্রুপ থেকে একটি ক্যারেক্টার ম্যাচ করে। যদি প্রথম ক্যারেক্টার ! হয়, তাহলে গ্রুপের বাহিরের যেকোনো ক্যারেক্টার ম্যাচ করে।
- \ — পরের ক্যারেক্টারটি এস্কেপ করে, সिवায় GLOB_NOESCAPE ফ্ল্যাগ ব্যবহৃত হলে।
বৈধ ফ্ল্যাগ
- GLOB_MARK — প্রতিটি রিটার্ন করা ডিরেক্টরির শেষে স্ল্যাশ (উইন্ডোজে ব্যাকস্ল্যাশ) যোগ করে।
- GLOB_NOSORT — ফাইলগুলো ডিরেক্টরিতে যেভাবে থাকে তেভাবেই রিটার্ন করে (সর্টিং নেই)। এই ফ্ল্যাগ না ব্যবহার করলে পাথনেমগুলো অ্যালফাবেটিক্যালি সর্ট হয়।
- GLOB_NOCHECK — কোনো ফাইল ম্যাচ না করলে সার্চ প্যাটার্নটি রিটার্ন করে।
- GLOB_NOESCAPE — ব্যাকস্ল্যাশ মেটাক্যারেক্টার কোট করে না।
- GLOB_BRACE — {a,b,c} কে 'a', 'b', বা 'c' ম্যাচ করতে এক্সপ্যান্ড করে।
- GLOB_ONLYDIR — প্যাটার্ন ম্যাচ করা ডিরেক্টরি এন্ট্রি মাত্র রিটার্ন করে।
- GLOB_ERR — রিড এরর হলে থামায় (যেমন অনরিডেবল ডিরেক্টরি), ডিফল্টভাবে এরর উপেক্ষা করা হয়।
উদাহরণ
glob() ফাংশন ব্যবহার
<?php foreach (glob("test/*.php") as $filename) { echo "$filename size " . filesize($filename) . "\n"; } ?>glob:// স্ট্রিম র্যাপার ব্যবহার
<?php $it = new DirectoryIterator("glob://test/*.php"); foreach($it as $f) { echo "File name: " . $f->getFilename() . " size: " . $f->getSize() . "\n"; } ?>দুটি স্ক্রিপ্টই test সাবডিরেক্টরিতে .php এক্সটেনশন والی ফাইলগুলোর নাম এবং সাইজ দেখাবে।