File "increment_upload02.php"

Full Path: /home/analogde/www/Prog/File explorer/increment_upload02.php
File size: 9.63 KB
MIME-type: text/x-php
Charset: utf-8

<?php

function tc_file_upload()
{

 
}

//$upload_location = "/home/analogde/www/Fusion/File explorer/";
//$filename = "accent.php";
//$path = $upload_location.$filename;

if (isset($_POST['submit'])) 
{
    echo "TRACE" ."<br><br>";

    $countfiles = count($_FILES['files']['name']);
    echo "Nombre de fichier qui seront traités : " .$countfiles ."<br>";

    $upload_location = "Doc_uploads/";
    $arrFiles = scandir($upload_location);

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

    for($index = 0;$index < $countfiles;$index++)
    {

        $filename = $_FILES['files']['name'][$index];
        $basename = pathinfo($_FILES['files']['name'][$index], PATHINFO_FILENAME);
        $extension = pathinfo($_FILES['files']['name'][$index], PATHINFO_EXTENSION);

        echo ">>>> " .$filename ."   " . $basename ."<br>";
      
        $findFiles = [];
            
        for ($x = 0; $x < count($arrFiles); $x++)
        {
                    if(strpos( $arrFiles[$x], $basename) !== false)
                    {
                        // ne prend pas en compte le fichier origine
                        if( $filename != $arrFiles[$x])
                        {
                            //echo "Found  " .$arrFiles[$x] ."<br>";
                            $findFiles[] = $arrFiles[$x];
                        }    
                    }
                }
            
                // 
                echo "Liste des fichiers qui sont parents." ."<br><br>";
                echo "<pre>";
                print_r($findFiles);
                echo "</pre>";

                if( sizeof($findFiles))
                {
                    for ($x = 0; $x < count($findFiles) ; $x++) 
                    {
                        $str = getBetween( $findFiles[$x], $start = "***", $end = "***");
                        if( strlen($str) != 0)
                        {
                            $array_version[] = str_replace("rev_","", $str);
                        }
                    }

                    echo "<pre>";
                    print_r($array_version);
                    echo "</pre>";
                    $current_indice = max($array_version);
                    $new_indice = $current_indice + 1;
                    echo " Nouvel indice " .$new_indice ."<br>";

                    $datetime = date("d-m-Y_H:i:s");  
                    $tmp_name = $_FILES['files']['tmp_name'][$index];
                    $file_name_complete = $basename ."_" .$datetime ."_" ."***rev_" .$new_indice ."***" ."." .$extension;
                    
                    $file_target_location = "Doc_uploads/" . $file_name_complete;

                    $file_upload_status = move_uploaded_file( $tmp_name, $file_target_location);
                    if ($file_upload_status == true) 
                    {
                        echo "Revision " .$new_indice ."  : OK " .$file_name_complete ;
                    } else 
                    {
                       echo " ?????? ";
                    }

        }    
        
    }

}


if (isset($_POST['ssssssubmit'])) 
{

    // Check if file is selected to upload, else show error
    //if (!empty($_FILES['user_file']['name'])) 
    //{
        echo "<p>bINGO<p>";
        $countfiles = count($_FILES['files']['name']);
        echo "Nombre de fichier qui seront traités : " .$countfiles ."<br>";

        for($index = 0;$index < $countfiles;$index++)
        {

            if(isset($_FILES['files']['name'][$index]) && $_FILES['files']['name'][$index] != '')
            {
                $filename = $_FILES['files']['name'][$index];
                echo ">>>> " .$filename ."<br>";

                $array_version = [];
                for ($x = 0; $x <= 1000; $x++) 
                {
                  $array[] = "***rev_" .$x ."***"; 
                }
            
                $upload_location = "Doc_uploads/";
                $arrFiles = scandir($upload_location);
            
                print_r($arrFiles);
            
                $findFiles = [];
            
                for ($x = 0; $x < count($arrFiles); $x++)
                {
                    if(strpos( $arrFiles[$x], $filename) !== false)
                    {
                        //echo "Found  " .$arrFiles[$x] ."<br>";
                        $findFiles[] = $arrFiles[$x];
                    }
                }
            
                echo "<pre>";
                print_r($findFiles);
                echo "</pre>";

                $array_version = [];    

                echo "NB fichiers detectés " .count($findFiles) ."<br>";

                if( count($findFiles) == 0)
                {
                    echo "Origine " ."<br>";

                    $tmp_name = $_FILES['files']['tmp_name'][$index];
                    $target = "Doc_uploads/" .$_FILES['files']['name'][$index];

                    $file_upload_status = move_uploaded_file($tmp_name, $target);
                    if ($file_upload_status == true) 
                    {
                        echo "Uploaded , Yes";
                    } 
                    else 
                    {
                        echo "Nada ... !!!";
                    }
                }
    
                else if( count($findFiles) == 1)
                {

                    $extension = pathinfo($_FILES['files']['name'][$index], PATHINFO_EXTENSION);
                    $file_name = pathinfo($_FILES['files']['name'][$index], PATHINFO_FILENAME);

                    $datetime = date("d-m-Y_H:i:s");  
                    //$path = $upload_location .$file_basename ."_" .$datetime ."_" ."***rev_1***" .$extension;
                    //echo " :::::: " .$file_basename ."_" .$datetime ."_" ."***rev_1***" .$ext; ."<br>";   
                    
                    $tmp_name = $_FILES['files']['tmp_name'][$index];
                    $file_name_complete = $file_name ."_" .$datetime ."_" ."***rev_1***" .$extension;
                    
                    $file_target_location = "Doc_uploads/" . $file_name_complete;

                    $file_upload_status = move_uploaded_file( $tmp_name, $file_target_location);
                    if ($file_upload_status == true) 
                    {
                        echo "Revision 1 : OK " .$file_name_complete ;
                    } else 
                    {
                       echo " ?????? ";
                    }
                }
                else
                {
                    echo "Revisions trouvées " ."<br>";
/*
                    for ($x = 0; $x < count($findFiles) ; $x++) 
                    {
                        $str = getBetween( $findFiles[$x], $start = "***", $end = "***");
                        if( strlen($str) != 0)
                        {
                            $array_version[] = str_replace("rev_","", $str);
                        }
                    }

                    echo "<pre>";
                    print_r($array_version);
                    echo "</pre>";
                    $max_indice = max($array_version);
                    $max_indice = $max_indice + 1;
                    echo " Nouvel indice " .$max_indice ."<br>";
                    //accent.php_15-06-2024_18:34:19_***rev_4***
                    $datetime = date("d-m-Y_H:i:s");  
                    $path = $upload_location .$file_basename ."_" .$datetime ."_" ."***rev_" .$max_indice ."***" .$ext;
                    echo ">>>>>> " .$path ."<br>";

                    $file_name_complete = "Zoulou.jpg";
                    $file_target_location = "Doc_uploads/" . $file_name_complete;

                    echo " TRACE " .$file_temp_location . "  " .$file_target_location ."<br>";

                    $file_upload_status = move_uploaded_file($file_temp_location, $file_target_location);
                    $file_upload_status = move_uploaded_file( $filename, $file_target_location);

                    if ($file_upload_status == true) 
                    {
                        //echo "Congratulations. File has been uploaded to: $file_target_location";
                        echo " OK";
                    } else {
                            echo "Bad !!!";
                    }
*/
                }
            }      
        } 
}
?>

<!DOCTYPE html>
<html>

<body>
    <!--
    <form action="" method="post" enctype="multipart/form-data">
        Upload File: <input type="file" name="user_file" required />
        <input type="submit" name="submit">
    </form>
-->
<form action="" method="post" enctype="multipart/form-data">
        Upload File: <input type="file" id='files' name="files[]" multiple />
        <input type="submit" name="submit">
    </form>

 <!--   
    <form method="post" action="" enctype="multipart/form-data">
    <input type="file" id='files' name="files[]" multiple><br>
    <input type="submit" id="submit" value='Upload'>
-->
</form>


</body>

</html>

<?php
/************************************************************************************************/
function getBetween($string, $start = "", $end = "")
{
    if (strpos($string, $start)) 
    { 
        $startCharCount = strpos($string, $start) + strlen($start);
        $firstSubStr = substr($string, $startCharCount, strlen($string));
        $endCharCount = strpos($firstSubStr, $end);
        if ($endCharCount == 0) {
            $endCharCount = strlen($firstSubStr);
        }
        return substr($firstSubStr, 0, $endCharCount);
    } 
    else 
    {
        return '';
    }
}  

?>