التعامل مع الدوال المعطلة

[b]بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركــآته[/b] [b]

امابعد [/b] [b]

…[/b] [b] كثيراً ما تكتب سكربت وتجد انه لا يعمل عند بعض الناس بسبب انك استخدمت دالة معطلة على السيرفر ويكون هناك البديل لهذه الدالة ولكن قد تجد هذه الدالة معطلة في سيرفرات البعض الآخر (انا أفترض فقط لما أرى مثل هذا ).

الجميع يعلم ان تعطيل الدوال يتم كالآتي:[/b]
نقوم بفتح الملف php.ini ثم نقوم بالبحث عن
[b]disable_functions
ونقوم بوضع الدوال التي نريد تعطيلها ويتم الفصل بين الدوال التي نريد تعطيلها بفاصلة، مثال.

ثم نقوم بعمل إعادة تشغيل للسيرفر.
[/b] disable_functions = addslashes,stripslashes [b]*هذه أمثلة فقط فلا ينصح ابداً بتعطيل هذه الدوال
طيب الأن وقد قمنا بتعطيل بعض الدوال.
هل لنا أن نعرض تلك الدوال مثل ملف معلومات لبعض الأشياء الموجودة على السيرفر ومن ضمنها الدوال المعطلة؟
الإجابة نعم بكل تأكيد فالPHP مرنة جداً في كل شئ.
فلو راجعنا المانوال لوجدنا دالة بإسم ini_get من إسمها تجد انه ستقوم بالوظيفة التي نريدها.
نأتى الأن لشرح إستخدام الدالة.

وهى تقوم بإرجاع قيمة الإعداد بدون إسمه على هيئة string وبمثال بسيط سنقوم بعرض جميع الدوال المعطلة.
[/b] ini_get(الإعداد الموجود بملف php.ini) [LEFT][b]

echo ini_get('disable_functions');

[/b][/LEFT]
هذا سيقوم بعرض الدوال المعطلة كما كتبت وفصلت بفاصلة في ملف php.ini واذا لا توجد دوال معطلة سيرجع قيمة فارغة فيمكنك التحقق من ان القيمة غير فارغة قبل عرض الدوال. او يمكن عرض جميع الدوال عن طريق.
[LEFT][b]

// وضع الدوال المعطلة في متغير
$disabled_functions = ini_get('disable_functions');
// وضع الدوال في مصفوفة
$disabled_functions_array = explode(',', $disabled_functions);
foreach($disabled_functions_array AS $func)
{
echo $func . "
";
}

[/b][/LEFT]
الآن كيف يمكننا التحقق من ان دالتنا غير معطلة؟ كمثال الدالة copy فكما نعلم معظم السيرفرات تقوم بتعطيل هذه الدالة وأقصد السيرفرات العربية.
نقوم بكل بساطة بإستخدام الدالة function_exists فهى ليس كما يتصور البعض دالة للتحقق من ان هناك دالة معينة موجودة في إصدارة PHP ولكنها للتحقق من ان الدالة تم تعريفها واذا تم تعطيل احد الدوال فتلقائياً لا تعرف.
ماذا تعلمنا في هذا الدرس الصغير؟

[ol]
[li]تعطيل الدوال[/li][li]عرض الدوال المعطلة[/li][li]التحقق من ان هنا دالة معينة غير معرفة[/li][/ol]
[b]
تمنيآتي لكم بالتوفيق

…[/b]

يعطيك العافيه شرح كافي

تحياتي

درس جميل ومفيد

تسلم أخي الجميل على الموضوع الرائع

جميل جدا و مختصر بالتوفيق.

شكرا اشتاذي

خالص ودي واحترامي