File "gestion_version_DB01.php"

Full Path: /home/analogde/www/FTP/Monsta-FTP-master/gestion_version_DB01.php
File size: 10.4 KB
MIME-type: text/x-php
Charset: utf-8

<?php
/*


CREATE TABLE table_insert_version (
    id INT AUTO_INCREMENT PRIMARY KEY,
    fichier VARCHAR(255) NOT NULL,
    fichier_base VARCHAR(255) NOT NULL,
    chemin VARCHAR(255) NOT NULL,
    version VARCHAR(255) NOT NULL,
    taille BIGINT NOT NULL,
    date_creation DATETIME NOT NULL
);
*/
function db_connexion()
{
    $db_host = "analogdepat.mysql.db";   
	$db_user = "analogdepat"; 	   
	$db_pass = "Un92pac007";	    
	$db_name = "analogdepat";	
	
	$connexion = new mysqli($db_host, $db_user, $db_pass, $db_name);
	if ($connexion->connect_error) 
	{
		//die("Connection failed: " . $connexion->connect_error);
        return(null);
	}
	else
	{
        return($connexion);
    }
}

function inserer_fichier($connexion, $fichier, $chemin)
{
    $chemin_fichier = $chemin ."/" .$fichier;
   
    // Récupérer les informations sur le fichier à partir du chemin
    $taille = filesize($chemin_fichier); // Taille en octets
    $timestamp_creation = filectime($chemin_fichier); // Timestamp de la création
    
    $fichier_date_creation = date('Y-m-d H:i:s',  $timestamp_creation);

    echo " ---->>> " .$taille . " " .$fichier_date_creation;

    if (preg_match('/_v(\d+)\.(\w+)$/', $fichier, $matches)) 
    {
        $version = $matches[1]; // Récupère le numéro de version
        $extension = $matches[2]; // Récupère l'extension
        echo "Le fichier \"$fichier\" contient la version : $version avec l'extension : .$extension.\n";

        $tag_version = "_v" .$version;
                
        $fichier_base = str_replace( $tag_version, '', $fichier);
        //$result = preg_replace('/_v\d+/', '', $s);

    } 
    else 
    {
        echo "Le fichier \"$fichier\" ne contient pas de version.\n";
        $version = "initial";
        $fichier_base = $fichier;
    }

   

    $sql = "INSERT INTO table_insert_version (fichier, fichier_base, chemin, version, taille, date_creation) 
    VALUES ('$fichier', '$fichier_base', '$chemin', '$version', '$taille', '$fichier_date_creation'  )";
        
    echo $sql;

    if ($connexion->query($sql) === TRUE) 
    {

        return(true);
    } 
    else 
    {
        return(false);
    }

}

function requete_historique_fichier($connexion, $fichier)
{
        $query = "SELECT * FROM table_insert_version WHERE fichier_base = '$fichier'";
        echo $query ."<br><br>";

        $result = $connexion->query($query);
        if ($result->num_rows > 0) 
        {
            $rowcount = mysqli_num_rows( $result );
            echo "NB lignes : " .$rowcount ."<br>";

            $tableau_data = [];
            $infos = [];

            while($row = mysqli_fetch_row($result))
            {
                //echo $row[1] ." " .$row[2] ." " .$row[3] ."<br>";

                $infos = [];
/*
                $fichier = $row[1];
                $fichier_base = $row[2];
                $chemin = $row[3];
                $version = $row[4];
                $taille = $row[5];
                $date_creation = $row[6];
*/                
                $infos[] = $row[1];    // $fichier
                $infos[] = $row[2];    // $fichier_base
                $infos[] = $row[3];    // $chemin
                $infos[] = $row[4];    // $version
                $infos[] = $row[5];    // $taille
                $infos[] = $row[6];    // $date_creation

                $tableau_data[] = $infos;
            }
        } 

        echo "<pre>";
        print_r($tableau_data);
        echo "</pre>";


/*   
    $db_host = "analogdepat.mysql.db";   
	$db_user = "analogdepat"; 	   
	$db_pass = "Un92pac007";	    
	$db_name = "analogdepat";	
	
	$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
	if ($mysqli->connect_error) 
	{
		echo "plouf...";
	}
	else
	{
        $query = "SELECT * FROM table_insert_version"; // WHERE fichier_base = '$fichier'";
        echo $query ."<br><br>";

        $result = $mysqli->query($query);

        //if ($result->num_rows > 0) 
        //{
        //} 

        if($result = $mysqli->query($query))
        {
            // Renvoie le nombre de lignes 
            $rowcount = mysqli_num_rows( $result );
            echo "NB lignes : " .$rowcount ."<br>";
            while($row = mysqli_fetch_row($result))
            {
                echo $row[1] ." " .$row[2] ." " .$row[3] ."<br>";
            }
        }

    }
*/
   

}

function acces_fichier($connexion, $utilisateur, $fichier )
{
    /*
    CREATE TABLE table_acces_fichier (
        id INT AUTO_INCREMENT PRIMARY KEY,
        utilisateur VARCHAR(255) NOT NULL,
        fichier VARCHAR(255) NOT NULL,
        fichier_base VARCHAR(255) NOT NULL,
        date_acces DATETIME DEFAULT CURRENT_TIMESTAMP
    );
    event_time DATETIME NOT NUL
    */

    $fichier_base = getVersion($fichier);

    $datetime = new DateTime();

    
    $convert = $datetime->format('Y-m-d H:i:s');

    $sql = "INSERT INTO table_acces_fichier (utilisateur, fichier, fichier_base,  date_acces) 
    VALUES ('$utilisateur', '$fichier', '$fichier_base' , now()   )";
        
    echo $sql;

    if ($connexion->query($sql) === TRUE) 
    {

        return(true);
    } 
    else 
    {
        return(false);
    }

    /*
    $chemin_fichier = $chemin ."/" .$fichier;
   
    // Récupérer les informations sur le fichier à partir du chemin
    $taille = filesize($chemin_fichier); // Taille en octets
    $timestamp_creation = filectime($chemin_fichier); // Timestamp de la création
    
    $fichier_date_creation = date('Y-m-d H:i:s',  $timestamp_creation);

    echo " ---->>> " .$taille . " " .$fichier_date_creation;

    if (preg_match('/_v(\d+)\.(\w+)$/', $fichier, $matches)) 
    {
        $version = $matches[1]; // Récupère le numéro de version
        $extension = $matches[2]; // Récupère l'extension
        echo "Le fichier \"$fichier\" contient la version : $version avec l'extension : .$extension.\n";

        $tag_version = "_v" .$version;
                
        $fichier_base = str_replace( $tag_version, '', $fichier);
        //$result = preg_replace('/_v\d+/', '', $s);

    } 
    else 
    {
        echo "Le fichier \"$fichier\" ne contient pas de version.\n";
        $version = "initial";
        $fichier_base = $fichier;
    }

   

    $sql = "INSERT INTO table_insert_version (fichier, fichier_base, chemin, version, taille, date_creation) 
    VALUES ('$fichier', '$fichier_base', '$chemin', '$version', '$taille', '$fichier_date_creation'  )";
        
    echo $sql;

    if ($connexion->query($sql) === TRUE) 
    {

        return(true);
    } 
    else 
    {
        return(false);
    }
*/
}

function getVersion($fichier)
{
    if (preg_match('/_v(\d+)\.(\w+)$/', $fichier, $matches)) 
    {
        $version = $matches[1]; // Recupere le numero de version
        $extension = $matches[2]; // Recupere l'extension
        //echo "Le fichier \"$fichier\" contient la version : $version avec l'extension : .$extension.\n";
        $tag_version = "_v" .$version;
        $fichier_base = str_replace( $tag_version, '', $fichier);
    }
    else 
    {
        $fichier_base = $fichier;
    }

    return($fichier_base);
}

  $chemin = "/home/analogde/www/Document_workarea/patrice/Test/capture_IC616_v02.jpg";

  
  // Récupérer le répertoire
  $directory = dirname($chemin);
  
  // Récupérer le nom du fichier
  $filename = basename($chemin);
  
  echo "Répertoire : " . $directory . "<br>";
  echo "Nom du fichier : " . $filename . "<br>";

  $handle_connexion = db_connexion();

  if($handle_connexion != null)
  {
    echo "Connexion DB - OK -";

    //$status = inserer_fichier($handle_connexion, $filename, $directory);

    /*if($status)
    {
        echo "Insertion valide.";
    }*/

    //$fichier = "capture_IC616.jpg";
    //requete_historique_fichier($handle_connexion, $fichier);

    $utilisateur = "patoche";
    $status = acces_fichier($handle_connexion, $utilisateur, $filename );
    if($status)
    {
        echo "Insertion acces.";
    }

  }

 

 /* 
    $db_host = "analogdepat.mysql.db";   
	$db_user = "analogdepat"; 	   
	$db_pass = "Un92pac007";	    
	$db_name = "analogdepat";	

	
	$connexion = new mysqli($db_host, $db_user, $db_pass, $db_name);
	if ($connexion->connect_error) 
	{
		die("Connection failed: " . $connexion->connect_error);
	}
	else
	{
        echo "Bingo !";	

        $sql = "INSERT INTO base_fichier (name, nombre_revision, courante, identifiant) VALUES ('$name', '$nombre_revision', '$courante' , '$identifiant' )";

        if (mysqli_query($connexion, $sql)) 
        {
          echo "Nouveau enregistrement créé avec succès";
        } 
        else 
        {
          echo "Erreur : " . $sql . "<br>" . mysqli_error($connexion);
        }
      
        mysqli_close($connexion);

    }
*/
/*
    CREATE TABLE lists_fichiers (
        id INT AUTO_INCREMENT PRIMARY KEY,
        nom VARCHAR(255) NOT NULL,
        revision VARCHAR(255) NOT NULL
        taille BIGINT NOT NULL,
        date_creation DATETIME NOT NULL
    );
    
    INSERT INTO fichiers (nom, revision, taille, date_creation) VALUES
    ('explorateur01.php', "version1", 1024, '2023-10-01 10:00:00'),
    ('explorateur01.php', "version2", 52428800, '2023-10-03 14:00:00'),
    ('explorateur01.php', "version3", 51200, '2023-10-04 16:00:00'),
    ('explorateur01.php', "version4", 102400, '2023-10-05 18:00:00'),
    ('explorateur01.php', "version5", 3145728, '2023-10-06 20:00:00')
 */   

 /*

$search = "P1000122.JPG";

      //$query = "SELECT * FROM aww WHERE name = 'P1000122.JPG'";

      $query = "SELECT * FROM aww WHERE name = '$search'";

      echo "Requete  " .$query;

      echo "<br><br><br>";

      $result = $mysqli->query($query);

      if ($result->num_rows > 0) 
      {
        echo "Le champ 'nom' avec la valeur 'patrice' existe dans la table.";
        } 
        else 
        {
        echo "Le champ 'nom' avec la valeur 'patrice' n'existe pas dans la table.";
        }

    if($result = $mysqli->query($query))
    {

      // Renvoie le nombre de lignes 
      $rowcount = mysqli_num_rows( $result );

      echo $rowcount ."<br>";

      while($row = mysqli_fetch_row($result))
      {
        echo $row[1] ." " .$row[2] ." " .$row[3] ."<br>";
      }
   }

   if($mysqli->error)
   {
      printf("Failed..!" , $mysqli->error);
   }
   
   $mysqli->close();


   
 */


 /*
 if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $file_name = $row['file_name'];
        $version = $row['version'];
        if (!isset($files[$file_name])) {
            $files[$file_name] = [];
        }
        $files[$file_name][] = $version;
    }
}
 */
?>