Bonjour.

Mon code ci-dessous me permet de générer une liste de numéro (de 0 à 9999) dans un Fichier .csv téléchargé via le HEADER du Navigateur Web à partir d'un Préfixe renseigné au niveau du formulaire HTML et récupéré par la variable $numero.

Alors, mon but actuel est comment modifier mon Code pour réussir à générer et télécharger deux (02) fichiers .csv téléchargés via le HEADER du Navigateur Web à partir de deux (02) Préfixe renseignés au niveau du formulaire HTML ???

Pour être explicite, je veux ajouter un autre champs input type=number name="numero2" à mon formulaire HTML qui sera défini lui-aussi comme Préfixe et qui permettra de générer lui aussi un 2ème Fichier .csv à partir du préfixe (numéro 2) renseigné via le Formulaire HTML.

Le but final étant de permettre à mon code de traiter deux (2) champs de Préfixe (numéros) à renseigner depuis le formulaire HTML et de pouvoir enfin générer autant (2 dans mon cas actuel vu que c'est deux champs de numéros préfixé renseigné depuis les formulaire HTML) de fichier .csv que de Préfixe (numéros) renseignés.

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
44
45
46
47
48
49
50
51
52
$now = gmdate("D, d M Y H:i:s");
header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");
header("Last-Modified: {$now} GMT");
 
// force download  
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
 
$filename = "numero.csv";
 
// disposition / encoding on response body
header("Content-Disposition: attachment;filename={$filename}");
header("Content-Transfer-Encoding: binary");
 
ob_start();
$df = fopen("php://output", 'w');
 
// pour mettre un entête sur le CSV
$entetes = ['Numero'];
fputcsv($df, $entetes);
 
// numéro de base
$numero         = (isset($_POST['numField'])) ? $_POST['numField'] : 0;
// longueur souhaité (doit être plus grande que longueur de $numéro)
$longueur_total = (isset($_POST['numLength'])) ? $_POST['numLength'] : 0;
// longueur utilisé en retirant la longueur de base
$longueur       = $longueur_total - strlen($numero);
// calcule de la puissance de 10 en fonction de la longueur souhaité
$max            = pow(10, $longueur);
// affichage du maximun de tour de la boucle
// echo "<h1>$max</h1>";
for ($i = 0; $i < $max; $i++) {
    // différence de longueur
    $diff = $longueur - strlen($i);
    $zero = "";
    for ($a = 0; $a < $diff; $a++) {
        // ajout des zéro devant
        $zero .= "0";
    }
    // concaténation du résultat
    $resultat = $numero . $zero . $i;
    // effacement des zéro
    $zero     = "";
    // affichage du résultat
    $row = [$resultat];
    fputcsv($df, $row);
}
fclose($df);
echo ob_get_clean();
exit(0);
Comment donc générer plusieurs (2 dans mon cas actuel) fichiers .csv à la fois avec mon Code PHP ci-dessus ???

Merci de m'aider s'il vous plaît.