البرمجة

استخراج إخراج محدد من ملف PHP آخر باستخدام تحكم التدفق

عندما نقوم بتشغيل كود PHP من ملف آخر، يمكننا استخدام دالة include لدمج محتوى الملف الآخر داخل الملف الحالي. في سياق ملف a.php الذي تقدمت به، يمكننا استخدام هذه الطريقة للوصول إلى النص المحتوى في ملف b.php.

للحصول فقط على جزء معين من محتوى b.php، يمكننا استخدام التحكم في التدفق باستخدام الدالة ob_start و ob_get_contents. فيما يلي الكود الذي يحقق هذا:

في a.php:

php
echo "one"; // بداية التقاط الإخراج الناتج عن تشغيل b.php ob_start(); include 'b.php'; $output = ob_get_contents(); ob_end_clean(); // نهاية التقاط الإخراج echo "three"; // الآن يمكننا استخدام النص المستخرج من b.php بحرية echo "Content from b.php: " . $output;

هذا الكود يبدأ بتشغيل a.php ويطبع “one”، ثم يبدأ في التقاط الإخراج الناتج عن تشغيل b.php داخل متغير $output. بعد ذلك، يستطيع المستخدم استخدام المتغير $output كما يشاء.

يرجى مراعاة أن هذا النهج يفترض أن الملف b.php يقوم بالإخراج (echo) مباشرة، ولا يقوم بإرجاع قيمة.

المزيد من المعلومات

في سياق لغة PHP، يُستخدم التحكم في التدفق (output buffering) لتخزين محتوى الإخراج في ذاكرة مؤقتة قبل أن يتم إرساله إلى المتصفح أو أي مكان آخر. يتم ذلك باستخدام الدوال ob_start() و ob_get_contents() و ob_end_clean() كما هو موضح في الكود السابق.

تقوم ob_start() ببدء التقاط الإخراج، بينما ob_get_contents() تسترجع المحتوى الذي تم التقاطه حتى تلك اللحظة. أخيرًا، ob_end_clean() تنهي التقاط الإخراج وتحذف المحتوى المخزن في الذاكرة المؤقتة.

بمجرد تشغيل الكود المقدم، سيتم طباعة “one” من a.php، ثم سيتم تشغيل ملف b.php باستخدام include، وناتجه (المحتوى الذي يتم طباعته في b.php) سيتم تخزينه في المتغير $output. بعد ذلك، سيتم طباعة “three” من a.php، تاركين المستخدم حر في استخدام $output كما يشاء.

الكود المقدم يمثل طريقة للتعامل مع إخراج ملف b.php في سياق ملف a.php والتحكم في المحتوى الذي يتم الحصول عليه من هذا الإخراج.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!