J'ai des images qui sont dans un dossier et qui ont un nom comme: "CM-123456-IPHONE-TPU" et je voudrais qu'elles soient mises sur le pdf dans l'ordre croissant des numéros,
par exemple:
Page 1: "CM-123456-IPHONE-TPU "
Page2:" CM-123457-IPHONE-TPU "
Page 3:" CM-123458-IPHONE-TPU "

quelqu'un a une solution parce que je parviens à les trier au début de mon code mais à partir du moment ou cela passe par le Excel, cela ne tri plus et ils sont rangé dans l'ordre d'apparaition des modèles de téléphone dans mon fichier Excel.

J’espère que vous pourrez m'aider dans mon problème


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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
 
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('Config.xlsx'); //Initialisation du chargement du fichier Excel
$spreadsheet->setActiveSheetIndex(0); //La feuille de travail Excel "0" est chargé
$dir = 'Visuel/*';  //Chemin où ce trouve les visuels
$files = glob($dir, GLOB_BRACE); //files = fichiers dans le dossier
 
 
$pdf = new PDF_Code39('p', 'mm', array(100, 240)); //creation d'un nouveau pdf avec code bar
 
$i = 2; // i commence à la deuxième ligne du tableau excel
while ($spreadsheet->getActiveSheet()->getCell('B' . $i)->getValue()) { //Tant que la page excel est chargé, on garde en variable les valeurs des cellules.
    $telephone = $spreadsheet->getActiveSheet()->getCell('B' . $i)->getValue(); //La variable telephone prend pour valeur la cellule B
 
    foreach ($files as $dir) { //Boucle sur chaque fichiers du dossier
        $img = $dir;
        $size = getimagesize($img);    //Ajout de la taille du fichier à la variable "size"
        $newtext = substr($img, 7); //Découpe le chemin et le nom des fichiers pour séléctionner uniquement le nom du fichier
        $part = explode('-', $newtext); // Découpage du nom de l'image par des "-"
 
 
 
        if ($part[2] == $telephone) { // si segment 2 du nom = Cellule B du tableau alors x et y prennent pour valeur C et D
            if ($telephone == 'MUG') { // Si l'image est un MUG on continue       MC-1234-MUG-.jpg
                $y = $spreadsheet->getActiveSheet()->getCell('C' . $i)->getValue(); //La variable hauteur prend pour valeur la cellule C
                $x = $spreadsheet->getActiveSheet()->getCell('D' . $i)->getValue(); //La variale largeur prend pour valeur la cellule D
                $YPX = $y * 12.5; //Calcul du ratio pour les mugs
                $XPX = $x * 11; //Calcul du ratio pour les mugs
                $pdf->AddPage(); //Ajout d'une page sur le PDF
 
 
 
                if ($size) { //Si le fichier a une taille
                    if ($size['mime'] == 'image/jpeg') { # Images en JPEG
                        $img_source = imagecreatefromjpeg($img); # On ouvre l'image d'origine
                        $img_dest = imagecreatetruecolor($XPX, $YPX);
                        imageresolution($img_dest, 300, 300); //Résolution de l'image a 300DPI
                        imagecopyresampled($img_dest, $img_source, 0, 0, 0, 0, $XPX, $YPX, $size[0], $size[1]); //l'image est redimensionné
                        imageflip($img_dest, IMG_FLIP_HORIZONTAL); //Image mise en miroir
                        imagejpeg($img_dest, $img, 100); // L'image est sauvegardé en JPEG avec une qualité de 100
                    }
                }
                $pdf->Image($img,5,8); //Ajout de l'image sur le PDF
            }
 
            if ($part[2] == $telephone) { // si segment 2 du nom = Cellule B du tableau alors x et y prennent pour valeur C et D
                if ($telephone != 'MUG') { //Si le modele n'est pas un MUG on continue
 
                    $y = $spreadsheet->getActiveSheet()->getCell('C' . $i)->getValue(); //La variable hauteur prend pour valeur la cellule C
                    $x = $spreadsheet->getActiveSheet()->getCell('D' . $i)->getValue(); //La variale largeur prend pour valeur la cellule D
                    $YPX = $y * 14; //Calcul du ratio
                    $XPX = $x * 14; //Calcul du ratio
                    $pdf->AddPage(); //Ajout d'une page sur le PDF
                    $pdf->SetFont('Arial', '', 12); // Paramètrage de la police d'écriture
                    $pdf->SetTextColor(107, 107, 71); //Couleur du text en Gris
 
 
                    if ($size) { //Si le fichier a une taille
                        if ($size['mime'] == 'image/jpeg') { # Images en JPEG
                            $img_source = imagecreatefromjpeg($img); # On ouvre l'image d'origine
                            $img_dest = imagecreatetruecolor($XPX, $YPX);
                            imageresolution($img_dest, 300, 300); //Résolution de l'image a 300dpi
                            imagecopyresampled($img_dest, $img_source, 0, 0, 0, 0, $XPX, $YPX, $size[0], $size[1]); //l'image est redimensionné
                            imageflip($img_dest, IMG_FLIP_HORIZONTAL); //Met l'image en miroir
                            $color = imagecolorallocate($img_dest, 107, 107, 71);
                            drawBorder($img_dest, $color, 3); //Dessine une bordure à l'image
                            imagejpeg($img_dest, $img, 100); // L'image est sauvegardé en JPEG avec une qualité de 100
 
 
                        }
                    }
 
                    //////////////////////////////Ajout sur le PDF des éléments //////////////////////////////////////////////
                    $pdf->Image($img,3,5); //Ajout de l'image sur le PDF
                    $pdf->Text(5, 238, $part[0]); // Ajout du CLIENT
                    $pdf->Text(13, 238, $part[1]); // Ajout du NUMERO DE COMMANDE
                    $pdf->Text(28, 238, $part[2]); // Ajout MODELE DE TELEPHONE
                    $pdf->Text(80, 238, $part[3]); // Ajout de la MATIERE DE TELEPHONE
                    $pdf->Code39(30, 205, $part[1]); // Ajout du CODE BARRE
 
                }
            }
        }
    }
    $i++;
}
$pdf->Output('Commandes du ' . date("d.m.y") . " de ". $part[0].'.pdf', 'I'); // Enregistrement du PDF avec pour nom la date du jour