كيفية قراءة ملف كبير سطرًا بسطر بكفاءة في PHP دون زيادة تحميل الذاكرة؟
مرحباً بالجميع! أنا مطور PHP مبتدئ، واجهت مشكلة عند معالجة الملفات الكبيرة. لدي ملف CSV بحجم حوالي 200 ميجابايت يجب معالجته سطراً بسطر. في البداية حاولت استخدام file_get_contents() و explode() بناءً على رمز السطر الجديد، ولكن النص البرمجي يتعطل مع خطأ "Allowed memory size exhausted". إليك الكود الخاص بي:\n\n```php\n$data = file_get_contents('big_file.csv');\n$lines = explode("\\n", $data);\nforeach ($lines as $line) {\n // معالجة السطر\n echo $line . "\\n";\n}\n```\n\nأفهم أن file_get_contents() يقوم بتحميل الملف بأكمله إلى الذاكرة، مما يؤدي إلى المشكلة. ولكن كيف يمكنني قراءة الملف سطراً بسطر بشكل صحيح؟ سمعت عن fopen() و fgets()، ولكني لست متأكداً من كيفية استخدامهما بشكل صحيح للملفات الكبيرة. كما أنني مهتم بكيفية معالجة الملفات التي يزيد حجمها عن 1 جيجابايت — هل هناك أي صعوبات مخفية؟ وهل يمكن تحسين القراءة بحيث لا يتم استهلاك ذاكرة زائدة؟ شكراً جزيلاً مسبقاً على المساعدة!\n<<>>\n