الفرق بين المراجعتين لصفحة: «PHP/ignore user abort»
المساهمة في ترجمة الصفحة |
رؤيا-بنعطية (نقاش | مساهمات) تعديلات طفيفة على التنسيق |
||
(2 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>ignore_user_abort()</code> في PHP}}</noinclude> | |||
(PHP 4, PHP 5, PHP 7) | (PHP 4, PHP 5, PHP 7) | ||
تُحَدِّدُ الدالةُ ignore_user_abort() ما إذا كان انقطاع اتصال العميل سيؤدي إلى إحباط تنفيذ البرنامج. | تُحَدِّدُ الدالةُ <code>ignore_user_abort()</code> ما إذا كان انقطاع اتصال العميل سيؤدي إلى إحباط تنفيذ البرنامج. | ||
== الوصف == | == الوصف == | ||
سطر 9: | سطر 9: | ||
</syntaxhighlight>تُحَدِّدُ الدالةُ ignore_user_abort() ما إذا كان انقطاع اتصال العميل سيؤدي إلى إحباط تنفيذ البرنامج. | </syntaxhighlight>تُحَدِّدُ الدالةُ <code>ignore_user_abort()</code> ما إذا كان انقطاع اتصال العميل سيؤدي إلى إحباط تنفيذ البرنامج. | ||
عند تشغيل PHP كسكربت في سطر الأوامر، وأُغْلِقَتْ الطرفية دون إنهاء تشغيل السكربت، سينتهي تنفيذ البرنامج في المرة القادمة التي يحاول فيها كتابة أي شيء، ما لم تُضبَط قيمة المعامل value إلى القيمة TRUE. | عند تشغيل PHP كسكربت في سطر الأوامر، وأُغْلِقَتْ الطرفية دون إنهاء تشغيل السكربت، سينتهي تنفيذ البرنامج في المرة القادمة التي يحاول فيها كتابة أي شيء، ما لم تُضبَط قيمة المعامل <code>value</code> إلى القيمة <code>TRUE</code>. | ||
== المعاملات == | == المعاملات == | ||
=== value === | === <code>value</code> === | ||
إذا ضُبِطَ المعامل | إذا ضُبِطَ المعامل <code>value</code>، فستضبِط الدالةُ <code>ignore_user_abort()</code> قيمة خيار الضبط <code>ini ignore_user_abort</code> إلى قيمة المعامل المحددة. أما إذا لم تُضبَط قيمة <code>value</code>، فستعيد الدالةُ <code>ignore_user_abort()</code> خيار الضبط السابق دون تغييره. | ||
== القيم المعادة == | == القيم المعادة == | ||
تعيدُ الدالةُ ignore_user_abort() خيار الضبط السابق، كعدد صحيح. | تعيدُ الدالةُ <code>ignore_user_abort()</code> خيار الضبط السابق، كعدد صحيح. | ||
== أمثلة == | == أمثلة == | ||
المثال 1: مثال على الدالة ignore_user_abort()<syntaxhighlight lang="php"> | المثال 1: مثال على الدالة <code>ignore_user_abort()</code><syntaxhighlight lang="php"> | ||
<?php | <?php | ||
// تجاهل تَوَقُّف العميل واسمح للبرنامج بالعمل دائمًا | // تجاهل تَوَقُّف العميل واسمح للبرنامج بالعمل دائمًا | ||
ignore_user_abort(true); | ignore_user_abort(true); | ||
set_time_limit(0); | set_time_limit(0); | ||
echo 'Testing connection handling in PHP'; | echo 'Testing connection handling in PHP'; | ||
// حلقة تكرار غير منتهية، التي تمكّن المستخدم من النقر على زر إيقاف تحميل الصفحة. | // حلقة تكرار غير منتهية، التي تمكّن المستخدم من النقر على زر إيقاف تحميل الصفحة. | ||
while(1) | while(1) | ||
{ | { | ||
// هل فشل الاتصال؟ | |||
if(connection_status() != CONNECTION_NORMAL) | |||
{ | |||
break; | |||
} | |||
// أوقف البرنامج لمدة 10 ثوانٍ | |||
sleep(10); | |||
} | } | ||
//إذا تحقق ذلك، تُشَغَّلُ جملة 'break' من داخل الحلقة التكرارية while. لذلك يمكننا هنا تسجيل الدخول، أو تنفيذ أي مهام أخرى نحتاجها دون الاعتماد فعليًا على المتصفح. | //إذا تحقق ذلك، تُشَغَّلُ جملة 'break' من داخل الحلقة التكرارية while. لذلك يمكننا هنا تسجيل الدخول، أو تنفيذ أي مهام أخرى نحتاجها دون الاعتماد فعليًا على المتصفح. | ||
?> | ?> | ||
سطر 62: | سطر 46: | ||
== ملاحظات == | == ملاحظات == | ||
لن تكتشف PHP أن المستخدم قد أوقف الاتصال حتى تُجرَى محاولةٌ لإرسال معلومات إلى العميل. إن مجرد استخدام بنية echo لا يضمن أن تُرسَل المعلومات إلى العميل، انظرْ إلى توثيق الدالةَ flush(). | لن تكتشف PHP أن المستخدم قد أوقف الاتصال حتى تُجرَى محاولةٌ لإرسال معلومات إلى العميل. إن مجرد استخدام بنية <code>[[PHP/echo|echo]]</code> لا يضمن أن تُرسَل المعلومات إلى العميل، انظرْ إلى توثيق الدالةَ [[PHP/flush|flush(]]). | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالة connection_aborted(): فحص ما إذا كان العميل غير متصل. | * الدالة <code>[[PHP/connection aborted|connection_aborted()]]</code>: فحص ما إذا كان العميل غير متصل. | ||
* الدالة connection_status(): إعادة bitfield لحالة الاتصال. | * الدالة <code>[[PHP/connection status|connection_status()]]</code>: إعادة bitfield لحالة الاتصال. | ||
* راجع صفحة «معالجة الاتصالات» للحصول على وصف كامل لمعالجة الاتصال في PHP. | * راجع صفحة «معالجة الاتصالات» للحصول على وصف كامل لمعالجة الاتصال في PHP. | ||
== مصادر == | == مصادر == | ||
* [http://php.net/manual/en/function.ignore-user-abort.php صفحة الدالة ignore_user_abort في توثيق PHP الرسمي.] | * [http://php.net/manual/en/function.ignore-user-abort.php صفحة الدالة ignore_user_abort في توثيق PHP الرسمي.] | ||
[[تصنيف:PHP]] | |||
[[تصنيف:PHP Function]] | |||
[[تصنيف:PHP Miscellaneous]] |
المراجعة الحالية بتاريخ 13:31، 29 مايو 2018
(PHP 4, PHP 5, PHP 7)
تُحَدِّدُ الدالةُ ignore_user_abort()
ما إذا كان انقطاع اتصال العميل سيؤدي إلى إحباط تنفيذ البرنامج.
الوصف
int ignore_user_abort ([ bool $value ] )
تُحَدِّدُ الدالةُ ignore_user_abort()
ما إذا كان انقطاع اتصال العميل سيؤدي إلى إحباط تنفيذ البرنامج.
عند تشغيل PHP كسكربت في سطر الأوامر، وأُغْلِقَتْ الطرفية دون إنهاء تشغيل السكربت، سينتهي تنفيذ البرنامج في المرة القادمة التي يحاول فيها كتابة أي شيء، ما لم تُضبَط قيمة المعامل value
إلى القيمة TRUE
.
المعاملات
value
إذا ضُبِطَ المعامل value
، فستضبِط الدالةُ ignore_user_abort()
قيمة خيار الضبط ini ignore_user_abort
إلى قيمة المعامل المحددة. أما إذا لم تُضبَط قيمة value
، فستعيد الدالةُ ignore_user_abort()
خيار الضبط السابق دون تغييره.
القيم المعادة
تعيدُ الدالةُ ignore_user_abort()
خيار الضبط السابق، كعدد صحيح.
أمثلة
المثال 1: مثال على الدالة ignore_user_abort()
<?php
// تجاهل تَوَقُّف العميل واسمح للبرنامج بالعمل دائمًا
ignore_user_abort(true);
set_time_limit(0);
echo 'Testing connection handling in PHP';
// حلقة تكرار غير منتهية، التي تمكّن المستخدم من النقر على زر إيقاف تحميل الصفحة.
while(1)
{
// هل فشل الاتصال؟
if(connection_status() != CONNECTION_NORMAL)
{
break;
}
// أوقف البرنامج لمدة 10 ثوانٍ
sleep(10);
}
//إذا تحقق ذلك، تُشَغَّلُ جملة 'break' من داخل الحلقة التكرارية while. لذلك يمكننا هنا تسجيل الدخول، أو تنفيذ أي مهام أخرى نحتاجها دون الاعتماد فعليًا على المتصفح.
?>
ملاحظات
لن تكتشف PHP أن المستخدم قد أوقف الاتصال حتى تُجرَى محاولةٌ لإرسال معلومات إلى العميل. إن مجرد استخدام بنية echo
لا يضمن أن تُرسَل المعلومات إلى العميل، انظرْ إلى توثيق الدالةَ flush().
انظر أيضًا
- الدالة
connection_aborted()
: فحص ما إذا كان العميل غير متصل. - الدالة
connection_status()
: إعادة bitfield لحالة الاتصال. - راجع صفحة «معالجة الاتصالات» للحصول على وصف كامل لمعالجة الاتصال في PHP.