انتقل إلى محتوى الدرس

CSV and Directory Functions Table جدول دوال CSV وإدارة المجلدات والمسارات

اقرأ وصدّر جداول CSV عبر fgetcsv وfputcsv، وأدر المجلدات والمسارات بأمان باستخدام scandir وglob وpathinfo في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

استخدم هذا الجدول المرجعي لاختيار الدالة الأنسب لمعالجة ملفات 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 streamPass escape: "" explicitlyarray|false
fputcsv($fp, $row, ",", "\"", "")Write one CSV row to streamPass escape: "" explicitlyint|false (bytes)
pathinfo($path, $flags)Extract dirname, basename, extensionUse PATHINFO_EXTENSIONarray|string
mkdir($p, 0755, true) / glob($pat)Create nested dirs / Match filesrecursive: true / omits . and ..bool / array|false

PHP
<?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() عند الرغبة في فحص كل محتويات المجلد.