شرح صفوف ومحتوى الفقرة
استخدم هذا الجدول المرجعي لاختيار الدالة الأنسب لمعالجة ملفات CSV أو تحليل المسارات أو استعراض المجلدات في PHP 8.4.
- مرّر دائماً المعامل
escape: ""للدوالfgetcsv()وfputcsv()وstr_getcsv()في PHP 8.4+. - استخدم
realpath()معstr_starts_with()لمنع ثغرات القفز بين المجلدات (../../) قبل فتح أي اسم ملف يرسله المستخدم. - فضّل
glob()عند الفلترة حسب امتداد الملف، وscandir()عند الرغبة في فحص كل محتويات المجلد.
تحلل الدالة str_getcsv($line, ",", "\"", "") سطر CSV النصي في الذاكرة بنفس قواعد RFC 4180 الخاصة بالدالة fgetcsv().
| الدالة | المهمة الأساسية | أهم معامل أو نصيحة في PHP 8.4 | قيمة الإرجاع |
|---|---|---|---|
fgetcsv($fp, 0, ",", "\"", "") | Read one CSV row from stream | Pass escape: "" explicitly | array|false |
fputcsv($fp, $row, ",", "\"", "") | Write one CSV row to stream | Pass escape: "" explicitly | int|false (bytes) |
pathinfo($path, $flags) | Extract dirname, basename, extension | Use PATHINFO_EXTENSION | array|string |
mkdir($p, 0755, true) / glob($pat) | Create nested dirs / Match files | recursive: true / omits . and .. | bool / array|false |
<?php
$line = '205,"Monitor 27""",1499.50';
$parsed = str_getcsv($line, ',', '"', '');
$ext = pathinfo('exports/monitors_2026.csv', PATHINFO_EXTENSION);
echo $parsed[1] . " | Price: " . $parsed[2] . " | Ext: $ext\n";
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
استخدم هذا الجدول المرجعي لاختيار الدالة الأنسب لمعالجة ملفات CSV أو تحليل المسارات أو استعراض المجلدات في PHP 8.4. مرّر دائماً المعامل escape: "" للدوال fgetcsv() وfputcsv() وstr_getcsv() في PHP 8.4+. استخدم realpath() مع str_starts_with() لمنع ثغرات القفز بين المجلدات (../../) قبل فتح أي اسم ملف يرسله المستخدم. فضّل glob() عند الفلترة حسب امتداد الملف، وscandir() عند الرغبة في فحص كل محتويات المجلد.