الدالة fscanf()
في PHP
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
تحلِّل الدالة fscanf()
المدخلات من الملف وفقًا لتنسيق محدَّد.
الوصف
mixed fscanf ( resource $handle , string $format [, mixed &$... ] )
تشبه هذه الدالة الدالة sscanf()
باستثناء أنَّها تأخذ مدخلاتها من الملف الذي يشير إليه المورد handle
ثمَّ تُفسِّر هذه المدخلات وفقًا للتنسيق format
المُعطى الذي شُرح بالتفصيل في صفحة الدالة sprintf()
.
ملاحظة: أيُّ فراغ أبيض (whitespace) موجود في السلسلة النصيَّة format
سيتطابق مع أي محرف فراغ أبيض يُعثر عليه في الملف. هذا يعني أنَّه يمكن أن يتطابق حتى محرف مسافة الجدولة \t
مع محرف فراغ عادي.
ستقرأ الدالة fscanf()
سطرًا واحدًا من الملف في كلِّ مرة تُستدعى فيها.
المعاملات
handle
مؤشِّر (pointer) يشير إلى ملف. يجب أن يكون سليمًا، ويشير إلى ملف فُتح بطريقة صحيحة باستعمال الدالة fopen()
أو الدالة fsockopen()
ولم يُغلق بعد باستعمال الدالة fclose()
.
format
التنسيق المحدَّد الذي ستُحلل البيانات بناءً عليه. راجع الدالة sprintf()
للاطلاع على الشرح المفصَّل لهذا المعامل.
...
المعاملات الاختياريَّة المُمررة بالمرجعيَّة.
القيم المعادة
إن مُرِّر إلى هذه الدالة معاملين فقط، فستعيد القيم التي حلَّلتها في مصفوفة. أمَّا إن مُرِّر إلى الدالة معاملات اختياريَّة، فستسند هذه الدالة القيم التي حلَّلتها من الملف إلى تلك المعاملات وستعيد عدد هذه القيم؛ أي هو نفسه عدد القيم التي حلَّلتها وأسندتها إلى المعاملات. يجب تمرير المعاملات الاختياريَّة بالمرجعيَّة.
أمثلة
المثال 1: استعمال الدالة fscanf()
<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
list ($name, $profession, $countrycode) = $userinfo;
//... افعل هنا شيئًا للقيم
}
fclose($handle);
?>
المثال 2: محتوى الملف users.txt
javier argonaut pe
hiroshi sculptor jp
robert slacker us
luigi florist it
انظر أيضًا
- الدالة
fgets()
: تجلب سطرًا واحدًا من ملف. - الدالة
fgetss()
: تجلب سطرًا من ملف وتزيل وسوم HTML. - الدالة
fread()
: تقرأ من الملف بطريقة آمنة ثنائيًّا. - الدالة
sscanf()
: تحلِّل المدخلات من سلسلة نصيَّة وفقًا لتنسيق محدَّد. - الدالة
printf()
: طباعة سلسلة نصيَّة بتنسيق محدَّد. - الدالة
sprintf()
: تعيد سلسلة نصيَّة منسَّقة.