একটি সহজ উপায় নিয়ে সুনির্দিষ্ট পাথ আছে প্রাথমিকভাবে মৃত্যুদন্ড কার্যকর স্ক্রিপ্ট যে স্ক্রিপ্ট, এবং অন্য কোন স্ক্রিপ্ট সঙ্গে অন্তর্ভুক্ত include
, require
, require_once
একটি ব্যবহার করা ধ্রুবক এবং শুরুতে সেখানে বর্তমান স্ক্রিপ্ট পথ সংরক্ষণকারী প্রধান স্ক্রিপ্ট :
define( 'SCRIPT_ROOT', __FILE__ );
include
বেশিরভাগ ওয়েব অ্যাপ্লিকেশনগুলির মতো, প্রতিটি প্রয়োজনীয় স্ক্রিপ্টের জন্য যখন একটি একক "মূল" স্ক্রিপ্ট থাকে তখন উপরের সমাধানটি উপযুক্ত ।
যদি এটি না হয় এবং বেশ কয়েকটি "অন্তর্নিহিত স্ক্রিপ্টগুলি" থাকতে পারে তবে পুনরায় সংজ্ঞাগুলি এড়াতে এবং ধীরে ধীরে সঠিক স্ক্র্যাপটি সংরক্ষণ করার জন্য প্রতিটি স্ক্রিপ্টটি শুরু হতে পারে:
if( ! defined( 'SCRIPT_ROOT' ) ) {
define( 'SCRIPT_ROOT`, __FILE__ );
}
(বর্তমানে) গৃহীত উত্তর সম্পর্কে একটি নোট :
উত্তরে বলা হয়েছে যে প্রাথমিকভাবে সম্পাদিত স্ক্রিপ্ট পাথটি অ্যারের প্রথম উপাদান দ্বারা ফিরে আসে get_included_files()
।
এটি একটি চতুর এবং সহজ সমাধান এবং - লেখার সময় - (আমরা প্রায় পিএইচপি 7.4.0 এ রয়েছি) এটি কাজ করে ।
তবে ডকুমেন্টেশনটি দেখে এখানে উল্লেখ করা যায় না যে প্রাথমিকভাবে সম্পাদিত স্ক্রিপ্টটি অ্যারের প্রথম আইটেমটি দিয়ে এসেছেget_included_files()
।
আমরা কেবল পড়ি
মূলত লিখিত স্ক্রিপ্টটিকে "অন্তর্ভুক্ত ফাইল" হিসাবে বিবেচনা করা হয়, সুতরাং এটি অন্তর্ভুক্ত এবং পরিবার দ্বারা উল্লিখিত ফাইলগুলির সাথে একসাথে তালিকাভুক্ত হবে।
" মূলত বলা হয় স্ক্রিপ্ট " লেখার সময় অ্যারেতে প্রথমটি হয় তবে - প্রযুক্তিগতভাবে - ভবিষ্যতে এটি পরিবর্তিত হবে না এমন কোনও গ্যারান্টি নেই।
একটি নোট সম্পর্কে realpath()
, __FILE__
এবং __DIR__
:
অন্যরা তাদের উত্তর ব্যবহারের পরামর্শ দিয়েছেন __FILE__
, __DIR__
, dirname(__FILE__)
, realpath(__DIR__)
...
dirname(__FILE__)
এর সমান __DIR__
(পিএইচপি 5.3.0 এ প্রবর্তিত), তাই কেবল ব্যবহার করুন __DIR__
।
উভয় __FILE__
এবং __DIR__
সর্বদা পরম পাথ তাই realpath()
অপ্রয়োজনীয়।