Une fois n'est pas coutume, j'ai une question.
Je dois parser des fichiers de données que je récupère au format txt. ce sont à priori des dump de base, mais je n'ai accès qu'à ces fichiers. les données sont structurées en lignes, chaque données séparées par une tabulation. Exemple :
Code : Tout sélectionner
FR 10 75948 0 RE65010 16 F S7
FR 10 75949 0 RE65011 16 F S7
FR 10 81588 0 RE65016 16 G S7
FR 10 75950 0 RE65012 16 G S7
FR 10 81589 0 RE65017 16 H S7
FR 10 79504 0 RE65014 * J S7<?php
//...
private function lirefichier()
{
$fiche = $this->repertoire . $this->fichier;
if(file_exists($fiche))
{
$lignes = file($fiche);
foreach($lignes as $num_ligne => $ligne)
{
$this->tableau[$num_ligne] = explode("\t", rtrim($ligne));
}
}
}
//...
?>
Ca fonctionne parfaitement mais...Le problème est que certains fichiers sont particulièrement lourd, j'en ai notament un de 11.9Mo et un autre de 32Mo. Le timeout explose et les ressources système sont sollicitées à fond.
J'ai essayé en augmentant le timeout à 600 secondes et en augmentant la mémoire allouée au script de 8 à 128Mo pour tester. Même là, ça rame à plein tube.
La manipulation se fera de toutes façons en local, donc les paramètres de configurations sont à mon entière discrétion et les données seront transférées vers une abse MySQL (à priori MySQL 5.0.xx), mais je cherche une manière d'accélérer un brin le processus : est-ce que l'un d'entre vous aurait une idée à me suggérer.