Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
FTP
/
Monsta-FTP-master
:
traitement_version01.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /**********************************************************************************/ function getLastVersion($liste_fichiers_version) { // Initialisation des variables pour stocker le résultat $maxVersion = -1; $selectedFile = null; // Parcourir chaque fichier foreach ($liste_fichiers_version as $file) { // Rechercher la version dans la chaîne (par exemple, _v01 ou _v02) if (preg_match('/_v(\d+)\.jpg$/', $file, $matches)) { $version = (int)$matches[1]; // Extraire le numéro de version // Comparer avec la version maximale actuelle if ($version > $maxVersion) { $maxVersion = $version; $selectedFile = $file; } } } // Affichage du résultat if ($selectedFile !== null) { //echo "La chaîne avec la version la plus élevée est : $selectedFile\n"; return( $selectedFile); } else { return(null); } } /**********************************************************************************/ function scan_repertoire($chemin) { // Lire le contenu du répertoire $scan_tous_fichier = scandir($chemin); $liste_fichiers = []; foreach ($scan_tous_fichier as $fichier) { // Ignorer les entrées spéciales "." et ".." if ($fichier !== "." && $fichier !== "..") { $liste_fichiers[] = $fichier; } } return($liste_fichiers); } /**********************************************************************************/ function detection_fichier_version($fichier, $liste_fichiers) { // Extraire la partie du nom sans extension $baseName = pathinfo($fichier, PATHINFO_FILENAME); // Tableau pour stocker les fichiers correspondants $matchingFiles = []; // on ajoute le fichier en version initial $matchingFiles[] = $fichier; // Parcourir la liste des fichiers foreach ($liste_fichiers as $element) { // Extraire la partie du nom sans extension $currentBaseName = pathinfo($element, PATHINFO_FILENAME); // Vérifier si le fichier partage une partie commune de nom avec le fichier de référence if (strpos($currentBaseName, $baseName) === 0 && $currentBaseName !== $baseName) { $matchingFiles[] = $element; } } return($matchingFiles); } /**********************************************************************************/ function compte_version($chemin, $fichier) { //$chemin = "/home/analogde/www/Document_workarea/patrice/Test"; //$chemin_format = str_replace("~", "/home/analogde", $chemin); $liste_fichiers = []; $liste_fichiers_version = []; $liste_fichiers = scan_repertoire($chemin); //echo "<pre>"; //print_r($liste_fichiers); //echo "</pre>"; $liste_fichiers_version = detection_fichier_version($fichier, $liste_fichiers); //echo "<pre>"; //print_r($liste_fichiers_version); //echo "</pre>"; return($liste_fichiers_version); } /**********************************************************************************/ function fileExists($chemin, $fichier) { $fichier_telechargement = $chemin ."/" .$fichier; if ( file_exists( $fichier_telechargement )) { return(true); } else { return(false); } } /**********************************************************************************/ function traitement_version($chemin, $fichier) { //$chemin = "/home/analogde/www/Document_workarea/patrice/Test"; //$fichier = "capture_IC616.jpg"; //$fichier = "plouf.pdf"; if( fileExists($chemin, $fichier) ) { $liste_fichiers_version = []; $liste_fichiers_version = compte_version( $chemin, $fichier ); $nb_version = count($liste_fichiers_version); //echo " Total :" .$nb_version ."<br>"; if( $nb_version == 0) { //return("vide"); } else { if( $nb_version == 1) { $last_version = $fichier; //echo "Derniere version : " .$last_version ."<br>"; } if( $nb_version > 1) { $last_version = getLastVersion($liste_fichiers_version); //echo "Derniere version : " .$last_version ."<br>"; } //return($last_version); } } else { echo "Boom"; //return("erreur"); } $tableau_retour = []; $tableau_retour[] = $nb_version; $tableau_retour[] = $last_version; return($tableau_retour); /* $last_version = getLastVersion($liste_fichiers_version); if( $last_version !== null) { echo $version; } else { echo "bada"; }*/ } /**********************************************************************************/ /* $chemin = "/home/analogde/www/Document_workarea/patrice/Test"; $fichier = "capture_IC616.jpg"; $fichier = "plouf.pdf"; $tableau_retour = traitement_version($chemin, $fichier); echo "<pre>"; print_r($tableau_retour); echo "</pre>"; */ /**********************************************************************************/ ?>