عرض مشاركة واحدة
عضو نشيط
تاريخ التسجيل: Feb 2003-
#4 (permalink)  

حتى توضح المعلومات لديك

معظم مزودات الويب إذا لم تكن كلها تتبع الخطوات التالية عند طلب صفحة:
1- يطلب الزائر صفحة php
2- يقوم السيرفر بترجمة الملف و الحصول على النتائج
3- يخزن هذه النتائج في مايسمى بالـ output buffers
4- عندما ينتهي من ترجمة الملف كله وتخزين النتائج في الـbuffers يقوم بإرسال كل مافي الـbuffer إلى المتصفح
5- يقوم بتفريغ محتويات الـ buffer


عندما تستخدم الدالة flush() في ملف php:
1- يطلب الزائر صفحة php
2- يقوم السيرفر بترجمة الملف والحصول على النتائج ويخزنها في الـbuffer
3- خلال ترجمته للملف و حين يصل للدالة flush() يقوم بإرسال كل مافي الـ buffer حاليا ويفرغها
4- يكمل ترجمة ماتبقى من الملف ويخزن النتائج في الـbuffer
5- دائما عندما ينتهي من ترجمة الملف او تواجهه دالة flush() فإنه يقوم بإرسال مافي الـbuffer وتفريغه

مافائدتها؟
مثلا عندك صفحة فيها حلقة تكرار مثلا فوق الـ10000 مرة
ممكن تستخدم الـflush(); في نهاية كل دورة، بحيث ماتكبر محتويات الـbuffer و ترهق السيرفر وايضا عندما يكون الملف كبير، فالمستعرض مازال ينتظر وصول النتائج إليه، فإذا تأخرت النتائج يظهر لك مشكلة

أما sleep( int ) فهي تقوم بعملية راحة للسيرفر لمدة انت تحددها بالثواني ، تستفيد منها لما يكون في عندك حلقة تكرار كبييرة ، وفي كل دورة مثل تنفذ امر كبير، لنقل انه mail() ، فالسيرفر سيتعب من كثرة تنفيذ هذه الدالة التي تشغل برنامجا خارجيا (sendmail غالبا) ، فأنت تريحه لمدة 5 ثواني مثلا بين كل دورة ودورة
sleep(5);

ارجو ان تكون وضحت الصورة






__________________


--------------------------------------------------------
هل لديك دليل مواقع في موقعك وهو فارغ؟ يمكنني املاؤه لك وإضافة أكثر من 3000موقع
برنامج قدم منتدى VB لزوارك عبر موقعك
ابحث عن وظيفة دعم فني
املك حساب استضافة للبيع، المساحة 1000 ميغا ، ترافيك 20جيجا، 120$ سنة
--------------------------------------------------------

wirelesslinker2002.at.hotmail.com
The Age Of Wireless Applications
My Age.. Wireless' Age
Wireless غير متواجد حالياً   قديم 08-03-2003, 05:49 AM