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); |
Partager