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.

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);
Le fichier est correctement créé et rempli dans le dossier /tmp, mais ne s'ouvre pas, contrairement aux autres cas d'utilisation.
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