পেক্কার গৃহীত উত্তর অসম্পূর্ণ এবং সাধারণ প্রসঙ্গে বিভ্রান্তিকর। যদি ফাইলটি আপেক্ষিক পথ হিসাবে সরবরাহ করা হয়, তবে ল্যাংগুয়েজ কনস্ট্রাক্ট include
নীচের উপায়ে এটি অনুসন্ধান করবে।
প্রথমত, এটি পরিবেশ পরিবর্তনশীলের পথগুলি দিয়ে include_path
যাবে, যা দিয়ে সেট করা যেতে পারে ini_set
। যদি এটি ব্যর্থ হয়, এটি কলিং স্ক্রিপ্টের নিজস্ব ডিরেক্টরিতে অনুসন্ধান করবে dirname(__FILE__)
( __DIR__
পিএইচপি> = 5.3 দিয়ে।) এটিও যদি ব্যর্থ হয় তবে কেবলমাত্র এটি ওয়ার্কিং ডিরেক্টরিতে অনুসন্ধান করবে! এটি ঠিক আছে যে, ডিফল্টরূপে, পরিবেশের পরিবর্তনশীল include_path
শুরু হয় .
, যা বর্তমান ওয়ার্কিং ডিরেক্টরি। এটিই বর্তমান কারণের ডিরেক্টরি ডিরেক্টরিতে অনুসন্ধান করার একমাত্র কারণ। Http://php.net/manual/en/function.incolve.php দেখুন ।
প্রদত্ত ফাইল পাথের উপর ভিত্তি করে ফাইলগুলি অন্তর্ভুক্ত করা হয় বা যদি কোনওটি না দেওয়া হয় তবে অন্তর্ভুক্ত_পথটি নির্দিষ্ট করা হয়। যদি ফাইলটি_প্যাথটিতে খুঁজে পাওয়া যায় না, অন্তর্ভুক্তটি ব্যর্থ হওয়ার আগে কলিং স্ক্রিপ্টের নিজস্ব ডিরেক্টরি এবং বর্তমান কার্যনির্বাহী ডিরেক্টরিতে পরীক্ষা করবে।
সুতরাং, প্রশ্নের প্রথম অংশের সঠিক উত্তর হ'ল অন্তর্ভুক্ত কলিং স্ক্রিপ্টটি কোথায় রয়েছে তা বিবেচনা করে। প্রশ্নের শেষ অংশের উত্তর হ'ল ওয়েব সার্ভারের প্রসঙ্গে প্রাথমিক কার্যনির্বাহী ডিরেক্টরিটি হ'ল স্ক্রিপ্টের ডিরেক্টরি, স্ক্রিপ্ট যা পিএইচপি দ্বারা পরিচালিত হওয়ার সময় অন্য সমস্তগুলিকে অন্তর্ভুক্ত করে। একটি কমান্ড লাইনের প্রসঙ্গে, প্রম্পটে পিএইচপি আহ্বান করা হয় তখন প্রাথমিক ওয়ার্কিং ডিরেক্টরিটি যা হয় তা নয়, প্রয়োজনীয় স্ক্রিপ্ট যেখানে অবস্থিত সেই ডিরেক্টরিটি নয়। বর্তমান পরিশ্রমী ডিরেক্টরি তবে, পিএইচপি ফাংশন চালানোর সময়ে পরিবর্তন করা যাবে chdir
। Http://php.net/manual/en/function.chdir.php দেখুন ।
এই অনুচ্ছেদটি অন্যান্য উত্তরে মন্তব্য করার জন্য যুক্ত করা হয়েছে। কেউ কেউ উল্লেখ করেছেন যে নির্ভর করা include_path
কম শক্তিশালী এবং সুতরাং পুরো পথ যেমন যেমন ./path
বা ব্যবহার করা ভাল __DIR__ . /path
। কেউ কেউ এ পর্যন্ত বলেছিলেন যে ওয়ার্কিং ডিরেক্টরিতে নির্ভর করা .
নিজেই নিরাপদ নয়, কারণ এটি পরিবর্তন করা যেতে পারে। তবে কিছু সময় আপনাকে পরিবেশের মূল্যবোধের উপর নির্ভর করতে হবে। উদাহরণস্বরূপ, আপনি include_path
খালি সেটটি পেতে চাইবেন , যাতে কলিং স্ক্রিপ্টের ডিরেক্টরিটি বর্তমান কার্যনির্বাহী ডিরেক্টরিটির আগেও এটি অনুসন্ধান করবে এমন প্রথম স্থান। কোডটি ইতিমধ্যে বাহ্যিক উত্স থেকে নিয়মিত লিখিত এবং আপডেট করা হতে পারে এবং কোডটি আপডেট হওয়ার সাথে সাথে আপনি উপসর্গটি পুনরায় সন্নিবেশ করতে চান না __DIR__
।