Bonjour à tous,
Je rencontre un souci sur un export CSV.
J'utilise ma fonction sur de nombreux export et fonctionne dans tout les cas,
sauf 1 seul, lorsque je dois exporter plus de 12000 lignes.
Le fichier est correctement créé et rempli dans le dossier /tmp, mais ne s'ouvre pas, contrairement aux autres cas d'utilisation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 // On crée le fichier temp et on l'ouvre en écriture $tmpFile = tempnam('/tmp', 'ExtractionAbonnement--'); $handle = fopen($tmpFile, "w"); // On récupère chaque ligne du résultat $colonne = 0; while($ligne = $sth->fetch(PDO::FETCH_ASSOC)){ // On écrit la ligne des colonnes if($colonne == 0){ foreach($ligne as $col => $val){ // On écrit une ligne de resultat fwrite($handle, "$col;"); } fwrite($handle, "\n"); $colonne = 1; } // On écrit une ligne de resultat foreach($ligne as $col => $val){ $val = FormatExport($val); fwrite($handle, "$val;"); } fwrite($handle, "\n"); } //echo $handle; // On transfère le contenu du fichier dans un tableau $tabFile = file($handle); //$tabFile = fgets($handle,16384); //$tabFile = fgets($tmpFile); // On parcours le tableau $i=0; while($i < count($tabFile)){ echo $tabFile[$i]; $i++; } //copy($tmpFile,"/tmp/exportAbo.csv"); // On ferme et détruit le fichier fclose($handle); unlink($tmpFile);
Cette même fonction fonctionne lorsque je réduis le nombre de valeur utilisée en dessous de 12000 lignes.
J’espère avoir été clair dans mon explication.
Nheil
Partager