ভূমিকা
বিভিন্ন URL-স্টাইল প্রোটোকল PHP-এ সংশ্লিষ্ট বিল্ট-ইন র্যাপারের সাহায্যে ফাইলসিস্টেম ফাংশনগুলোর সাথে ব্যবহার করা যায়। stream_wrapper_register() ফাংশনও আছে কাস্টম র্যাপার ডিফাইন করার জন্য।
PHP-এ ডিফল্ট র্যাপার হলো file:// যা লোকাল ফাইলসিস্টেমকে রিপ্রেজেন্ট করে। যদি অন্য কোনো প্রোটোকল স্পষ্টভাবে ব্যবহার না করা হয়, PHP পারসার এটিকে ফাইলসিস্টেম র্যাপার হিসেবে বিবেচনা করে। fopen(), file_get_contents() ইত্যাদি ফাইলসিস্টেম ফাংশনগুলোর filename আর্গুমেন্ট ডিফল্টভাবে file:// প্রোটোকল ব্যবহার করে।
যখন ফাইল নাম ফরওয়ার্ড বা ব্যাকওয়ার্ড স্ল্যাশ বা উইন্ডোজে ড্রাইভ লেটার দিয়ে শুরু হয় না, এর পাথ করেন্ট ডিরেক্টরির সাপেক্ষে রিলেটিভ মाना হয়। যাবতীয়, fopen() এবং file_get_contents() ফাংশনগুলোর ফাইল নাম include_path ডিরেক্টিভে উল্লেখিত লোকেশনগুলোর মধ্যেও সার্চ করা হয়।
file:// র্যাপার সিমুলটেনিয়াস রিড/রাইট অপারেশন, ডিরেক্টরি তৈরি ও মুছে ফেলা, এবং ফাইল রিনেম সাপোর্ট করে। এছাড়া, ফাইল এক্সেস allow_url_fopen ডিরেক্টিভ দ্বারা বাধিত নয়।
উদাহরণ
ফাইল নামের বিভিন্ন সম্ভাব্য রিপ্রেজেন্টেশন—
// অ্যাবসোলিউট পাথ
$file = fopen("C:/xampp/php/test/test.txt", "w");// রিলেটিভ পাথ (ধরে নিলো করেন্ট ওয়ার্কিং ডিরেক্টরি c:\xampp\php, ফাইলটি tst সাবডিরেক্টরিতে খোলা হবে)
$file = fopen("test/test.txt", "w");// কারেন্ট পাথ। ফাইলটি c:\xampp\php\test ডিরেক্টরিতে খোলা হবে যদি সেটিই করেন্ট ডিরেক্টরি হয়
$file = fopen("test.txt", "w");// file:// প্রোটোকল ব্যবহার করে অ্যাবসোলিউট পাথ
$file = fopen("file:///c:/xampp/php/test/test.txt", "w");// file:// প্রোটোকল ব্যবহার করে ডকুমেন্ট রুটের ফাইল
$file = fopen("file://localhost/test/test.txt", "w");