طراحی سایت, ساخت ربات تلگرام, آموزش php , سورس کد php ,سورس ربات تلگرام , سورس فروشگاه اینترنتی , آموزش طراحی وب

تابع urlencode در php و اینکد URL


تابع urlencode در php و اینکد URL

اینکد url با تابع urlencode در php بسیار آسان و ساده است .در php توابع درونی ای برای encode و decode آدرس url وجود دارد .  اینکد url قبل از ارسال داده های url به query string یا یک تابع برای انجام عملیات روی داده های این url انجام می شود . و بعد ، این داده ها بعد از دریافت توسط یک صفحه یا تابع ،  باید به فرم اصلی خود دیکد (decode) شوند .

Query string چیست ؟

فرض کنید یک url به این شکل دارید

پس کوئری استرینک (query string) همان تکه ای از درخواست که با متد GET ارسال می شود است ، که در مثال بالا کوئری (query) شامل دو قسمت است : یک کلید (key) به اسم id که دارای مقدار ۵ است و یک کلید name که مقدار php را دارد .

خب حالا در php میتوانید اطلاعات فرم ها بخوانید و دسترسی به این مقادیر داشته باشید .

برای آشنایی با متغیر $_GET و $_POST و همچنین دریافت اطلاعات فرم در php کلیک کنید

با استفاده از کد زیر ما مقدار id را می گیریم و در متغییر $id ذخیره می کنیم . حالا اگر مقدار $id را چاپ کنیم عدد ۵ نمایش خواهد داد.

همچنین با آرایه $_SERVER در php می توانید تمام مقادیر را به صورت یکجا بگیرید و با تابع print_r آنرا چاپ کنید که مطمینان به صورت آرایه ای خواهد بود !

تابع urlencode در php و اینکد URL

انواع URL encoding & decoding در PHP

در php دو روش برای اینکد و دیکد url وجود دارد

  • Application/x-www-form-urlencode
  • RFC 3956 standard type
حتما بخوانید  ساخت فرم چند مرحله ای با php

نوع Application/x-www-form-urlencode

این نوع از اینکد url با تابع urlencode  و urldecode() در php قابل انجام است . از این نوع url encoding در php پیشنهاد می شود زمانی استفاده کنید که قصد ارسال یک URL به query string توسط یک فرم را دارید .!

این توابع کاراکتر های خاص بجز (_) ، (-) و (.) را که در آدرس url آمده است را به صورت %[HEX] جایگزین می کند همچنین کاراکتر space (فاصله) را با + جایگزین می کند.

برای آشنایی با کاراکترهای خاص و رزرو شده html و اینکد آنها با تابع htmlentities و htmlspecialchars در php کلیک کنید

اگر آدرس url را به صورت اینکد شده که با تابع urlencode در php  قابل انحام است ، ارسال کنیم .، هرگونه کاراکتر خاصی که در url باشد ممکن است باعث خراب شدن یا بریده شدن بقیه قسمت های url شود و نتوانیم در صفحه دریافتی مقادیر سمت راست url را به درستی آنصورت که انتظار داشتیم ، دریافت کنیم .

مثال زیر به شما نتیجه اعمال تابع urlencode در php  بر روی آدرس url را نمایش می دهد .

نوع استاندارد RFC 3986

یکی دیگر از توابع اینکد url در php ، rawurlencode() و rawurldecode() هستند . برخلاف نوع قبلی ، که فاصله با + جایگزین می شد ، در اینجا فاصله در url با %[HEX] جایگزین می شود .

این متد بر اساس استاندارد RFC است و استفاده از این نوع زمانی پیشنهاد می شود که قصد ساخت URL های داینامیک بنابر شرایط درخواست های سرور دارید .

حتما بخوانید  ساخت فایل وب سرویس WSDL در PHP

کد php زیر یک مثال از استفاده دو تابع ، rawurlencode() و rawurldecode() برای url encoding در php است.

جمع بندی

دیدید با توابع از پیش تعریف شده (built-in) در php به چه راحتی تونستیم یک url را به دو روش مختلف RFC و Application/x-www-form-urlencode اینکد کنیم . همجنین مثال هایی از تابع urlencode در php و اینکد URL با space توسط توابع rawurlencode() و rawurldecode() را دیدیم . این توابع در ارسال فرم ها به سرویس های دیگر مثل ارسال sms با php ، کار با api هایی مثل وب سرویس RESTfull یا درگاه های پرداخت بخصوص اتصال به درگاه پرداخت بانک ملت استفاده می شود . امیدوارم نهایت استفاده را برده باشید . هرگونه مشکلی در پیاده سازی کد ها داشتید از قسمت نظرات ارسال کنید . سریعا پاسخگوی سوالات شما هستیم .

موفق باشید .

 

اگر مفید بود, لطفا به اشترک بگذارید تا دوستان دیگر نیز بهره ببرند

حسن شفیعی
مدرس ، پنتستر ، توسعه دهنده اپلیکیشن های تحت وب ، عضو مرکز حامی نخبگان و از مدیران و اعضای رسمی تیم امنیتی آشیانه هستم . علاقه خاصی به زبان php و امنیت شبکه و لینوکس دارم و هر روز تلاش می کنم به این حوزه ها مسلط تر شوم و اطلاعاتم را در وب به اشتراک بگذارم

دیدگاه کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود رایگان (هدیه ویژه)

کتاب آموزش زبان برنامه نویسی PHP را دانلود و همین امروز یادگیری را شروع کن و به جمع برنامه نویسان ملحق شو ;)

دانلود رایگان کتاب

آموزش طراحی وب سایت

نظر کاربران عزیز

آموزش های آنلاین در چه زمینه ای تهیه کنیم ؟

  • آموزش جاوااسکریپت و جی کوئری (45%, 10)
  • آموزش ساخت ربات تلگرام (45%, 10)
  • آموزش بوت استرپ 4 (9%, 2)

تعداد رای ها : 22

Loading ... Loading ...

بخش کاربران

هنوز عضو نیستید ؟ کلیک کنید

مجوزهای ما


logo-samandehi نماد اعتماد الکترونیک

دانلود کتاب

عضویت در خبرنامه