Bonjour,
mon application lit des fichiers CSV afin d'en traiter les données.
Je lis en entier le fichier et stocke toutes les données dans un tableau. Le principe fonctionne bien sur des petits fichiers, mais pour traiter un fichier qui pèse 32 mO, je tombe sur une limite d'utilisation de la mémoire, mais la limite fixée dans php.ini (memory_limit) est atteinte (comme je suis en local, je peux la modifier ; je l'ai mise à 15000 mO (ce qui est monstrueux mais visiblement, ça suffit pas)). Pour gérer ce problème mon idée est de limiter la quantité de données lues dans le fichier, donc de traiter cette lecture par morceaux, donc de ne lire qu'un morceau, le traiter, puis lire un autre morceau, le traiter, également, et ainsi jusqu'à atteindre la fin du fichier CSV. Peut-on s'y prendre ainsi, et si oui, comment ?Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 335544320 bytes) in C:\projets\ticket_rawsrc\vendor\rawsrc\pdoplusplus\PDOPlusPlus.php on line 1296
Partager