فانکشن‌های عمومی

مجتبی پاکزاد کدایگنایتر 3.1.9 در حال تکمیل رایگان

کدایگنایتر از تعادی فانکشن برای عملیات داخلی خود استفاده می‌کند که به صورت گلوبال تعریف شده‌اند، و در همه جای اپلیکیشن در دسترس هستند. استفاده از این فانکشن‌ها نیاز به لود هیچ لایبرری یا هلپری ندارد.

is_php($version)
پارامترها
  • $version نوع استرینگ - شماره ورژن
مقدار بازگشتی در صورتی که ورژن PHP در حال اجرا حداقل ورژن مشخص شده باشد TRUE و در غیر اینصورت FALSE
نوع مقدار بازگشتی بولین

مشخص می‌کند که آیا ورژن PHP در حال استفاده، بزرگتر از شماره ورژن ساپورت شده است.

مثال:

if (is_php('5.3'))
{
        $str = quoted_printable_encode($str);
}

نوع مقدار بازگشتی بولین است، در صورتی که ورژن PHP نصب شده بزرگتر یا مساوی با ورژن ساپورت شده باشد، مقدار TRUE برمی‌گرداند و اگر کمتر باشد FALSE برمی‌گرداند.

is_really_writable($file)
پارامترها
  • $file نوع استرینگ - مسیر فایل
مقدار بازگشتی در صورتی که مسیر پرمیشن نوشتن داشته باشد TRUE و در غیر اینصورت FALSE
نوع مقدار بازگشتی بولین

فانکشن is_writable() روی سرورهای ویندوز حتی هنگامی که واقعا نمی‌توانید بنویسید نیز TRUE برمی‌گرداند، در نتیجه تنها هنگامی FALSE برمی‌گرداند که خاصیت read-only فایل تیک خورده باشد.

فانکشن is_really_writable() ابتدا سعی می‌کند با نوشتن در یک فایل، مشخص کند که آیا آن فایل واقعا قابل نوشتن است یا خیر. به طور کلی، استفاده از این فانکشن تنها در پلتفرم‌هایی توصیه می‌شود که اطلاعات بازگشتی سیستم قابل اعتماد نیستند.

مثال:

if (is_really_writable('file.txt'))
{
        echo "I could write to this if I wanted to";
}
else
{
        echo "File is not writable";
}

توجه

برای اطلاعات بیشتر باگ شماره 54709 پی‌اچ‌پی را ببینید.

config_item($key)
پارامترها
  • $key نوع استرینگ - کلید آرایه کانفیگ
مقدار بازگشتی مقدار کلید کانفیگ یا در صورت پیدا نشدن NULL
نوع مقدار بازگشتی mixed (بیش از یک نوع ممکن است.)

گرچه لایبرری Config روش بهتری برای دسترسی به اطلاعات کانفیگ است، فانکشن config_item() نیز می‌تواند برای دریافت کلیدهای تک استفاده شود. برای اطلاعات بیشتر لایبرری Config را ببینید.

set_status_header($code[, $text = ''])
پارامترها
  • $code نوع عددی - کد وضعیت ریسپانس HTTP
  • $text نوع استرینگ - پیامی سفارشی برای ست شدن به همراه کد وضعیت
مقدار بازگشتی ندارد

امکان تنظیم دستی هدر وضعیت سرور را می‌دهد. مثال:

set_status_header(401);
// Sets the header as:  Unauthorized

لیست کامل هدرها

remove_invisible_characters($str[, $url_encoded = TRUE])
پارامترها
  • $str نوع استرینگ - استرینگ دریافتی از کاربر
  • $url_encoded نوع بولین - آیا کاراکترهای انکود شده URL نیز حذف شوند
مقدار بازگشتی متن فیلتر شده
نوع مقدار بازگشتی استرینگ

این فانکشن از وارد شدن کاراکترهای NULL بین کاراکترهای ASCII جلوگیری می‌کند، مانند Java\0script.

مثال:

remove_invisible_characters('Java\\0script');
// Returns: 'Javascript'
html_escape($var)
پارامترها
  • $var نوع mixed - مقداری که باید escape شود (استرینگ یا آرایه)
مقدار بازگشتی استرینگ HTML که escape شده است
نوع مقدار بازگشتی mixed (بیش از یک نوع ممکن است.)

این فانکشن به عنوان اسم مستعار فانکشن htmlspecialchars() عمل می‌کتد، البته مزیت استفاده از این فانکشن این است که این فانکشن علاوه بر استرینگ، آرگومان نیز قبول می‌کند.

کاربرد این فانکشن در جلوگیری از حملات XSS است.

get_mimes()
مقدار بازگشتی یک آرایه انجمنی حاوی نوع‌های فایل
نوع مقدار بازگشتی آرایه

این فانکشن یک رفرنس به آرایه MIME TYPEها واقع در دایرکتوری application/config/mimes.php را برمی‌گرداند.

اصطلاحات فنی

MIME TYPE نوع فایل را مشخص می‌کند، در واقع هر فایل یک MIME TYPE دارد که به مرورگر می‌گوید که این فایل چه نوع فایلی است، عکس (image/jpeg) است، پی‌دی‌اف (application/pdf) است یا هر چیز دیگری.

is_https()
مقدار بازگشتی اگر از پروتکل HTTPS استفاده می‌شود، TRUE و در غیر اینصورت FALSE برمی‌گرداند
نوع مقدار بازگشتی بولین

اگر یک اتصال امن (HTTPS) استفاده شود، TRUE و در غیر اینصورت و برای هر اتصالی (شامل ریکوئست‌های غیر HTTP) مقدار FALSE برمی گرداند.

is_cli()
مقدار بازگشتی اگر توسط کامندلاین اجرا شده باشد، TRUE و در غیر اینصورت FALSE برمی‌گرداند
نوع مقدار بازگشتی بولین

اگر اپلیکیشن از طریق کامندلاین اجرا شده باشد TRUE برمی‌گرداند و درغیر اینصورت FALSE برمی گرداند.

توجه

این فانکشن بررسی می کند که آیا مقدار PHP_SAPI برابر است cli یا آیا ثابت STDIN تعریف شده است یا خیر.

function_usable($function_name)
پارامترها
  • $function_name نوع استرینگ - نام فانکشن
مقدار بازگشتی اگر فانکشن قابل استفاده باشد TRUR و در غیر اینصورت FALSE برمی‌گرداند
نوع مقدار بازگشتی بولین

اگر فانکشن مورد نظر تعریف شده و قابل استفاده باشد، TRUE برمی‌گرداند، در غیراین‌صورت FALSE برمی‌گرداند.

این فانکشن، فانکشن function_exists() را اجرا می کند و اگر اکستنشن Suhosin لود شده باشد، بررسی می‌کند که فانکشن را غیرفعال نکرده باشید.

هر وقت که بخواهید بررسی کنید که فانکشن هایی از قبیل eval() و exec() در دسترس هستند یا نه، این فانکشن کاربردی و مفید است. فانکشن های eval() و exec() خطرناک هستند و بر روی سرورهای با سیاست های امنیتی خیلی محدودکننده باید غیرفعال باشد.

توجه

این فانکشن به این دلیل معرفی شده است که Suhosin به اجرای اسکریپت خاتمه داده است، اما مشخص شد که این یک باگ است. زمانی (ورژن 0.9.34) یک پچ برای این باگ موجود بود، اما متاسفانه هنوز منتشر نشده است.

منبع
Common Functions