include dirname(__FILE__).'/../../index.php';
এখানে আপনার সেরা বাজি, এবং এটি অন্যান্য সমাধানগুলির সাথে মোকাবিলা করতে পারে এমন বেশিরভাগ আপেক্ষিক পাথ বাগগুলি এড়িয়ে যাবে।
প্রকৃতপক্ষে, এটি অন্তর্ভুক্তিকে সর্বদা বর্তমান স্ক্রিপ্টের অবস্থানের সাথে সম্পর্কিত হতে বাধ্য করবে যেখানে এই কোডটি স্থাপন করা হয়েছে (কোন অবস্থানটি সম্ভবত স্থিতিশীল, যেহেতু আপনি আপনার অ্যাপ্লিকেশনের আর্কিটেকচারটি সংজ্ঞায়িত করেছেন)। এটি কেবল include '../../index.php'
করণ থেকে পৃথক যা কার্যনির্বাহী ("কলিং" নামেও পরিচিত) স্ক্রিপ্ট এবং তারপরে তুলনামূলকভাবে বর্তমান কার্যনির্বাহী ডিরেক্টরিতে অন্তর্ভুক্ত থাকবে , যা আপনার অন্তর্ভুক্ত স্ক্রিপ্টের পথ থেকে সমাধানের পরিবর্তে মূল স্ক্রিপ্টটিতে আপনার স্ক্রিপ্টকে অন্তর্ভুক্ত করবে point ।
পিএইচপি ডকুমেন্টেশন থেকে:
প্রদত্ত ফাইল পাথের উপর ভিত্তি করে ফাইলগুলি অন্তর্ভুক্ত করা হয় বা যদি কোনওটি না দেওয়া হয় তবে অন্তর্ভুক্ত_পথটি নির্দিষ্ট করা হয়। যদি ফাইলটি_প্যাথটিতে খুঁজে পাওয়া যায় না, অন্তর্ভুক্তটি ব্যর্থ হওয়ার আগে কলিং স্ক্রিপ্টের নিজস্ব ডিরেক্টরি এবং বর্তমান কার্যনির্বাহী ডিরেক্টরিতে পরীক্ষা করবে।
এবং প্রাচীনতম পোস্টে আমি এই কৌতুক উদ্ধৃত পেয়েছি তারিখ 2003 ফিরে, Tapken দ্বারা ।
আপনি নিম্নলিখিত সেটআপ দিয়ে পরীক্ষা করতে পারেন:
এটির মতো একটি বিন্যাস তৈরি করুন:
htdocs
¦ parent.php
¦ goal.php
¦
+---sub
¦ included.php
¦ goal.php
ইন parent.php
, রাখুন:
<?php
include dirname(__FILE__).'/sub/included.php';
?>
ইন sub/included.php
, রাখুন:
<?php
print("WRONG : " . realpath('goal.php'));
print("GOOD : " . realpath(dirname(__FILE__).'/goal.php'));
?>
অ্যাক্সেস করার সময় ফলাফল parent.php
:
WRONG : X:\htdocs\goal.php
GOOD : X:\htdocs\sub\goal.php
যেমন আমরা দেখতে পাচ্ছি, প্রথম ক্ষেত্রে, কলটি স্ক্রিপ্ট থেকে পাথটি সমাধান করা হয় parent.php
, dirname(__FILE__).'/path'
কৌশলটি ব্যবহার করে , অন্তর্ভুক্তটি স্ক্রিপ্ট থেকে included.php
কোডটি যেখানে রাখা হয় সেখানে করা হয়।
সাবধান, অন্য কোথাও যা পড়া যায় তার বিপরীতে নিম্নলিখিত কৌশলটির সমতুল্য নয়:
include '/../../index.php';
প্রকৃতপক্ষে, প্রিপেন্ডিং /
কাজ করবে, তবে এটি include ../../index.php
কলিং স্ক্রিপ্টের মতোই সমাধান হবে (পার্থক্যটি include_path
এটি ব্যর্থ হলে পরে দেখা হবে না)। পিএইচপি ডক থেকে :
যদি কোনও পথটি সংজ্ঞায়িত করা হয় - নিখুঁত (ড্রাইভ লেটার দিয়ে শুরু হওয়া বা উইন্ডোজে \, অথবা / ইউনিক্স / লিনাক্স সিস্টেমগুলিতে) বা বর্তমান ডিরেক্টরি সম্পর্কিত (। বা .. দিয়ে শুরু করে) - অন্তর্ভুক্ত_পথটি সম্পূর্ণ উপেক্ষা করা হবে।