Projet

Général

Profil

Anomalie #7309

Données importés tronqués quand ligne d'import DOC est > 16384 octets

Ajouté par Jérôme Augé il y a presque 2 ans. Mis à jour il y a plus d'un an.

Statut:
Intégré
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
20/02/2019
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:
Principaux fichiers impactés:
Complexité:
Contrôle:
Thème:
Socle technique
Régression:
Non
Jalons:

Description

Lorsqu'on importe un document (CSV avec ligne "DOC;...") et que la ligne est supérieure à 16384 octets, alors les données sont tronqués à 16384 et le reste est ignoré.

Ce problème peut être observé dans l'interface "Gestion des documents" > "Importation de documents" en lançant l'analyse sur un fichier CSV d'un document avec un tableau et l'import d'un grand nombre de ligne par exemple. On observe alors que le rapport d'analyse montre que les données sont tronqués à un moment.

Historique

#1 Mis à jour par Jérôme Augé il y a presque 2 ans

Cette limite semble être dans le `fgets()` de `Class.ImportDescription.php` :

--- ./FDL/Class.ImportDescription.php.orig      2019-02-20 08:07:25.443630563 +0000
+++ ./FDL/Class.ImportDescription.php   2019-02-20 08:07:40.263642043 +0000
@@ -221,7 +221,7 @@
         }
         while (!feof($this->fdoc)) {
             if (!$this->csvEnclosure) {
-                $buffer = rtrim(fgets($this->fdoc, 16384));
+                $buffer = rtrim(fgets($this->fdoc));
                 $data = explode($this->csvSeparator, $buffer);
                 $data = array_map(function ($v) use ($csvLinebreak)
                 {

#2 Mis à jour par Jérôme Augé il y a plus d'un an

  • % réalisé changé de 0 à 100

#3 Mis à jour par Éric Brison il y a plus d'un an

  • Statut changé de Nouveau à Intégré

Appliqué par commit internal-platfrom:commit:abf84cd112fc64feb764c82dfceb6a9d07280d56.

Formats disponibles : Atom PDF