পিএইচপি -তে সম্পূর্ণ ইউআরএল পুনরুদ্ধার করুন

Retrieve Full Url Php



পিএইচপিতে দুই ধরনের গ্লোবাল ভেরিয়েবল ব্যবহার করা যেতে পারে: সুপার গ্লোবাল ভেরিয়েবল এবং ইউজার-ডিফাইন্ড ভেরিয়েবল। $ _ সার্ভার একটি সুপার গ্লোবাল অ্যারে ভেরিয়েবল যা বর্তমান পৃষ্ঠার সম্পূর্ণ পথ পুনরুদ্ধার করতে ব্যবহৃত হয়। ইউআরএলের প্রোটোকল (HTTP বা HTTPS) পৃষ্ঠার সম্পূর্ণ URL পেতেও প্রয়োজন। যদি $ _ সার্ভার ['HTTPS'] ফিরে আসে 'চালু', তারপর URL ঠিকানার সাথে HTTPS ব্যবহার করা হবে, অন্যথায়, HTTP ব্যবহার করা হবে. কিভাবে বর্তমান পৃষ্ঠার সম্পূর্ণ URL ঠিকানা পুনরুদ্ধার করা যায় $ _ সার্ভার অ্যারে এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে।

প্রয়োজনীয় পরিবর্তনশীল

বর্তমান পৃষ্ঠার ইউআরএল ঠিকানা খুঁজে বের করার জন্য নিম্নলিখিত সুপার গ্লোবাল ভেরিয়েবল প্রয়োজন।







সুপার গ্লোবাল ভেরিয়েবলস উদ্দেশ্য
$ _ সার্ভার ['HTTPS'] এটা ফিরে আসে চালু যদি বর্তমান পৃষ্ঠার URL- এ HTTPS প্রোটোকল ব্যবহার করা হয়।
$ _ সার্ভার ['HTTP_HOST'] এটি বর্তমান পৃষ্ঠার সার্ভারের নাম প্রদান করে।
$ _ সার্ভার ['REQUEST_URI'] এটি অনুরোধকৃত সম্পদের নাম প্রদান করে।
$ _ সার্ভার ['SERVER_PORT'] এটি সার্ভারের পোর্ট নম্বর প্রদান করে।
$ _ সার্ভার ['QUERY_STRING'] এটি বর্তমান পৃষ্ঠার URL ঠিকানায় বিদ্যমান থাকলে ক্যোয়ারী স্ট্রিং মানটি ফেরত দেয়।

উদাহরণ 1: একটি শর্তাধীন বিবৃতি ব্যবহার করে বর্তমান পৃষ্ঠার URL প্রদর্শন করুন

নিচের উদাহরণ দেখায় কিভাবে বর্তমান পৃষ্ঠার URL- এ প্রোটোকল ব্যবহার করার জন্য শর্তাধীন বিবৃতি ব্যবহার করা যেতে পারে। নিম্নলিখিত স্ক্রিপ্ট দিয়ে একটি পিএইচপি ফাইল তৈরি করুন।



বর্তমান URL এর ডোমেইন নাম পেতে $ _SERVER [‘HTTP_HOST’] এর মান ব্যবহার করা হয়। $ _SERVER ['REQUEST_URI'] এর মান অনুরোধকৃত সম্পদের নাম পেতে ব্যবহৃত হয়। সর্বস্বান্ত) $ _SERVER ['HTTPS'] একটি সেট কিনা তা পরীক্ষা করার জন্য ফাংশনটি ব্যবহার করা হয়, এবং যদি সেট করা হয়, তাহলে $ _SERVER ['HTTPS'] এর মান পরীক্ষা করে দেখুন চালু অথবা না. পরবর্তী, এই তিনটি ভেরিয়েবলের মানগুলি '//:' এর সাথে একত্রিত হয়ে বর্তমান পৃষ্ঠার সম্পূর্ণ URL পুনরুদ্ধার করা হয়।




// বর্তমান পৃষ্ঠার ডোমেইন নাম পড়ুন
$ ডোমেইন = $ _ সার্ভার['HTTP_HOST'];
// অনুরোধকৃত সম্পদ পড়ুন
$ সম্পদ = $ _ সার্ভার['REQUEST_URI'];
// বর্তমান url এর প্রোটোকল খুঁজে বের করুন
যদি( সর্বস্বান্ত ($ _ সার্ভার['HTTPS']) && $ _ সার্ভার['HTTPS'] === 'চালু')
$ প্রোটোকল = 'https';
অন্য
$ প্রোটোকল = 'http';

// সম্পূর্ণ ইউআরএল ঠিকানা পেতে সমস্ত অংশ একত্রিত করুন
$ url = $ প্রোটোকল': //'$ ডোমেইন$ সম্পদ;
// বর্তমান পৃষ্ঠার URL ঠিকানা মুদ্রণ করুন
বের করে দিল '

বর্তমানের URL ঠিকানা
পৃষ্ঠা হল:

'
$ url;?>

আউটপুট:





সার্ভার থেকে স্ক্রিপ্ট চালানোর পর নিম্নলিখিত আউটপুট দেখা যাবে। $ _SERVER ['HTTPS'] এর মান নয় চালু স্থানীয় সার্ভারের জন্য। সুতরাং আউটপুট দেখায় http বর্তমান URL এর জন্য প্রোটোকল।



উদাহরণ 2: টার্নারি অপারেটর ব্যবহার করে বর্তমান পৃষ্ঠার URL প্রদর্শন করুন

নিম্নলিখিত উদাহরণটি টার্নারি অপারেটর ব্যবহার করে বর্তমান পৃষ্ঠার সম্পূর্ণ URL পাওয়ার পথ দেখায়। নিম্নলিখিত স্ক্রিপ্ট দিয়ে একটি পিএইচপি ফাইল তৈরি করুন।

যদি বর্তমান পৃষ্ঠার URL- এ কোন প্রোটোকল ব্যবহার করা হয়েছে তা জানতে পূর্ববর্তী উদাহরণে শর্তটি ব্যবহার করা হয়েছে। এই স্ক্রিপ্টে টার্নারি অপারেটর ব্যবহার করে একই কাজ করা হয়। সর্বস্বান্ত) $ _SERVER ['HTTPS'] একটি সেট কিনা তা পরীক্ষা করার জন্য ফাংশন ব্যবহার করা হয়, এবং যদি $ _SERVER ['HTTPS'] এর মান হয় চালু, তারপর টার্নারি অপারেটর HTTPS ফেরত দেবে, অন্যথায় এটি HTTP ফিরিয়ে দেবে। ইউআরএলের অন্যান্য অংশগুলি পূর্ববর্তী উদাহরণের মতো পুনরুদ্ধার এবং মুদ্রিত হয়।


// বর্তমান url এর প্রোটোকল খুঁজে বের করুন
$ প্রোটোকল = ( সর্বস্বান্ত ($ _ সার্ভার['HTTPS']) && $ _ সার্ভার['HTTPS']
== 'চালু'?'https' : 'http');
// বর্তমান পৃষ্ঠার ডোমেইন নাম পড়ুন
$ ডোমেইন = $ _ সার্ভার['HTTP_HOST'];
// অনুরোধকৃত সম্পদ পড়ুন
$ সম্পদ = $ _ সার্ভার['REQUEST_URI'];
// সম্পূর্ণ ইউআরএল ঠিকানা পেতে সমস্ত অংশ একত্রিত করুন
$ url = $ প্রোটোকল': //'$ ডোমেইন$ সম্পদ;
// বর্তমান পৃষ্ঠার URL ঠিকানা মুদ্রণ করুন
বের করে দিল '

বর্তমান পৃষ্ঠার URL ঠিকানা হল:

'
$ url;
?>

আউটপুট:

সার্ভার থেকে স্ক্রিপ্ট চালানোর পর নিম্নলিখিত আউটপুট দেখা যাবে। $ _SERVER ['HTTPS'] এর মান নয় চালু স্থানীয় সার্ভারের জন্য। সুতরাং আউটপুট বর্তমান URL এর জন্য HTTP প্রোটোকল দেখায়।

উদাহরণ 3: পোর্ট নম্বরের উপর ভিত্তি করে বর্তমান পৃষ্ঠার URL প্রদর্শন করুন

পূর্ববর্তী দুটি উদাহরণে, $ _SERVER ['HTTPS'] এর মানটি পৃষ্ঠার বর্তমান URL এর প্রোটোকল খুঁজে বের করতে ব্যবহৃত হয় এবং URL- এর সাথে কোন ক্যোয়ারী স্ট্রিং ব্যবহার করা হয় না। নিচের উদাহরণটি দেখায় যে কিভাবে $ _SERVER [‘SERVER_PORT’] ভেরিয়েবলটি প্রোটোকল খুঁজে বের করতে এবং ক্যোয়ারী স্ট্রিং সহ পুরো URL ঠিকানা পুনরুদ্ধার করতে ব্যবহার করা যেতে পারে। নিম্নলিখিত স্ক্রিপ্ট দিয়ে একটি পিএইচপি ফাইল তৈরি করুন।

এখানে, প্রোটোকল খুঁজে বের করার জন্য একাধিক লজিক্যাল কন্ডিশন এবং টার্নারি অপারেটর ব্যবহার করা হয়। যদি $ _SERVER ['HTTPS'] এর মান খালি থাকে বা সেট করা থাকে বন্ধ, তারপর এটি বর্তমান ইউআরএলের প্রোটোকল জানতে $ _SERVER [‘SERVER_PORT’] এর মান পরীক্ষা করবে। $ _SERVER [‘QUERY_STRING’] ভেরিয়েবল ইউআরএল থেকে ক্যোয়ারী স্ট্রিং মান পুনরুদ্ধার করতে ব্যবহৃত হয়।


// বর্তমান url এর প্রোটোকল খুঁজে বের করুন
$ প্রোটোকল = ((! খালি ($ _ সার্ভার['HTTPS']) && $ _ সার্ভার['HTTPS']
! = 'বন্ধ') || $ _ সার্ভার['সার্ভারের পোর্ট'] == 443)?'https: //' : 'http: //';
// বর্তমান পৃষ্ঠার ডোমেইন নাম পড়ুন
$ ডোমেইন = $ _ সার্ভার['HTTP_HOST'];
// অনুরোধকৃত সম্পদ পড়ুন
$ সম্পদ = $ _ সার্ভার['REQUEST_URI'];
// প্রশ্ন স্ট্রিং মান পড়ুন
$ ক্যোয়ারী = $ _ সার্ভার['QUERY_STRING'];
// সম্পূর্ণ ইউআরএল ঠিকানা পেতে সমস্ত অংশ একত্রিত করুন
$ url = $ প্রোটোকল$ ডোমেইন$ সম্পদ;
// বর্তমান পৃষ্ঠার URL ঠিকানা মুদ্রণ করুন
বের করে দিল '

বর্তমান পৃষ্ঠার সম্পূর্ণ URL ঠিকানা হল:

'
$ url;
// প্রশ্ন স্ট্রিং অংশ মুদ্রণ করুন
বের করে দিল '

প্রশ্ন স্ট্রিং হল:

'
$ ক্যোয়ারী;
?>

আউটপুট:

কোন ক্যোয়ারী স্ট্রিং ছাড়াই সার্ভার থেকে উপরের স্ক্রিপ্টটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। URL- এ কোন প্রশ্নের স্ট্রিং দেওয়া নেই। সুতরাং আউটপুট খালি ক্যোয়ারী স্ট্রিং দেখায়।

ক্যোয়ারী স্ট্রিং সহ সার্ভার থেকে উপরের স্ক্রিপ্টটি কার্যকর করার পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। নিম্নলিখিত আউটপুটটি ক্যোয়ারী স্ট্রিং এবং ক্যোয়ারী স্ট্রিং এর সাথে আলাদাভাবে ইউআরএল ঠিকানা দেখায়।

উপসংহার

বর্তমান পৃষ্ঠার সম্পূর্ণ URL পুনরুদ্ধারের বিভিন্ন উপায় বিভিন্ন উদাহরণ ব্যবহার করে এই টিউটোরিয়ালে দেখানো হয়েছে। ইউআরএল এবং ক্যোয়ারী স্ট্রিং আলাদা করার উপায়ও এই টিউটোরিয়ালে দেখানো হয়েছে। আশা করি, এই টিউটোরিয়ালটি পিএইচপি স্ক্রিপ্ট ব্যবহার করে পাঠকদের বর্তমান পৃষ্ঠার সম্পূর্ণ ইউআরএল পড়ার উপায় জানতে সাহায্য করবে।