بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته,,
كثيراً ما تكتب سكربت وتجد انه لا يعمل عند بعض الناس بسبب انك استخدمت دالة معطلة على السيرفر ويكون هناك البديل لهذه الدالة ولكن قد تجد هذه الدالة معطلة فى سيرفرات البعض الآخر (انا أفترض فقط لما ارى مثل هذا ..)
الجميع يعلم ان تعطيل الدوال يتم كالآتى:
نقوم بفتح الملف php.ini ثم نقوم بالبحث عن ..
كود PHP:
disable_functions =
ونقوم بوضع الدوال التى نريد تعطيلها ويتم الفصل بين الدوال التى نريد تعطيلها بفاصلة مثال: ..
كود PHP:
disable_functions = addslashes,stripslashes
ثم نقوم بعمل إعادة تشغيل للسيرفر ..
*هذه أمثلة فقط فلا ينصح ابداً بتعطيل هذه الدوال ..
طيب الأن وقد قمنا بتعطيل بعض الدوال ..
هل لنا أن نعرض تلك الدوال كمثلاً ملف معلومات لبعض الأشياء الموجودة على السيرفر ومن ضمنها الدوال المعطلة ؟
الإجابة نعم بكل تأكيد فالPHP مرنة جداً فى كل شئ ..
فلو راجعنا المانوال لوجدنا دالة بإسم ini_get
من إسمها تجد انه ستقوم بالوظيفة التى نريدها ..
نأتى الأن لشرح إستخدام الدالة ..
ini_get(الإعداد الموجود بملف php.ini)
وهى تقوم بإرجاع قيمة الإعداد بدون إسمه على هيئة string
وبمثال بسيط سنقوم بعرض جميع الدوال المعطلة
كود PHP:
echo ini_get('disable_functions');
هذا سيقوم بعرض الدوال المعطلة كما كتبت وفصلت بفاصلة فى ملف php.ini واذا لا توجد دوال معطلة سيرجع قيمة فارغة فيمكنك التحقق من ان القيمة غير فارغة قبل عرض الدوال ..
او يمكن عرض جميع الدوال عن طريق:
كود PHP:
// وضع الدوال المعطلة فى متغير
$disabled_functions = ini_get('disable_functions');
// وضع الدوال فى مصفوفة
$disabled_functions_array = explode(',', $disabled_functions);
foreach($disabled_functions_array AS $func)
{
echo $func . "<br />";
}
الان كيف يمكننا التحقق من ان دالتنا غير معطلة !!؟ كمثال الدالة copy فكما نعلم معظم السيرفرات تقوم بتعطيل هذه الدالة وأقصد السيرفرات العربية ..
نقوم بكل بساطة بإستخدام الدالة function_exists فهى ليس كما يتصور البعض دالة للتحقق من ان هناك دالة معينة موجودة فى إصدارة الPHP ولكنها للتحقق من ان الدالة تم تعريفها واذا تم تعطيل احد الدوال فتلقائياً لا تعرف ..
ماذا تعلمنا فى هذا الدرس الصغير ..
1- تعطيل الدوال ..
2-عرض الدوال المعطلة ..
3-التحقق من ان هنا دالة معينة غير معرفة ..
رابط مصدر المقال/
لا تنسى ذكر المصدر .. المشروع