Bonjour.

J'ai fortement et urgemment besoin de votre aide.
En fait, mon Code PHP ci-dessous permet de générer des Numéros depuis les informations du formulaire HTML renseigné ET de les télécharger dans un fichier .csv via le Header du Navigateur Web.
Mais le problème est que la gestion des Numéros prend TROP DE TEMPS et donc très Lente. Pour contourner ce problème, je voudrais donc ajouter à ce Code un traitement Asynchrone (en utilisant la Librairie Ajax AXIOS) de sorte à ce que la gestion des Numéros soit RAPIDE.

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
53
54
//Code PHP qui traite les renseignements des formulaires HTML 
 
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);
Aidez moi svp à régler ce problème de Lenteur à y ajoutant à mon projet une fonctionnalité de traitement Asynchrone en utilisant la Librairie Ajax AXIOS.

Merci d'avance.