File "increment_upload06.php"

Full Path: /home/analogde/www/Prog/File explorer/increment_upload06.php
File size: 10.45 KB
MIME-type: text/html
Charset: utf-8

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

<script>
function redirection()
{
    //alert("ploug");
    setTimeout(function()
    { 
     //window.location.href = "https://www.example.com";
     window.history.go(-2);
    }, 5000);
}

</script>    

<style>
        .aligned {
            display: flex;
            align-items: center;
        }
         
        span {
            padding: 10px;
        }

        img {
            vertical-align: middle;
        }

    </style>

<?php

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

session_start();

echo "Version : 6" ."<br><br>";



if (isset($_GET['p'])) 
{
    //echo " -------- " .$_GET['p'] ."<br>";

    $pieces = explode("***", $_GET['p']);

    echo "<pre>";
    print_r($pieces);
    echo "</pre>";
    
    //echo $pieces[0]; 
    //echo "<br><br>"; 
    //echo $pieces[1]; 
    //echo "<br><br>"; 
    $path_upload = $pieces[1];
    $_SESSION['path_upload'] =  $path_upload ;

    unset(  $_SESSION['action'] );

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

    //$arg = substr($pieces[1],2);

   // echo " ----- " .$_GET['p'] ."  " .$arg;

}

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

    $_SESSION['action']  = "envoi";

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

    //$upload_location = "Doc_uploads/";
    //$upload_location = "/home/analogde/www/Fusion/File explorer/";

    $upload_location = "/home/analogde/www/" .$_SESSION['path_upload'] ."/";

    echo " Target " .$_SESSION['path_upload'] ."<br>";

    $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)
                    {
                        $findFiles[] = $arrFiles[$x];
                        // ne prend pas en compte le fichier origine
                        /*if( $filename != $arrFiles[$x])
                        {
                            //echo "Found  " .$arrFiles[$x] ."<br>";
                            $findFiles[] = $arrFiles[$x];
                        }    
                        if( $filename == $arrFiles[$x])
                        {

                        }*/
                    }
        }
            
        // 
        //echo "Liste des fichiers qui sont parents." ."<br><br>";
        //echo "<pre>";
        //print_r($findFiles);
        //echo "</pre>";


        if( count($findFiles) == 0)
        {
            echo "Origine " ."<br>";
            $tmp_name = $_FILES['files']['tmp_name'][$index];
            $target = $upload_location .$_FILES['files']['name'][$index];

            $file_upload_status = move_uploaded_file($tmp_name, $target);
            if ($file_upload_status == true) 
            {
                //echo "Uploaded , Yes";
                //echo "        " .$_FILES['files']['name'][$index] ."  " ."<img src='check.png' alt='Image' width='32' height='32'>" ."<br>";
                //echo '<script>myFunction();</script>';
                message(true, $_FILES['files']['name'][$index], "origine");
            } 
            else 
            {
                message(false, $_FILES['files']['name'][$index], $file_name_complete);
            }
        }
        else if( count($findFiles) == 1)
        {
            $datetime = date("d-m-Y_H:i:s");  
            $tmp_name = $_FILES['files']['tmp_name'][$index];
            $file_name_complete = $basename."_" .$datetime ."_" ."***rev_1***" ."." .$extension;
            $file_target_location = $upload_location . $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 ;
                message(true, $_FILES['files']['name'][$index], $file_name_complete);
            } 
            else 
            {
                message(false, $_FILES['files']['name'][$index], $file_name_complete);
            }
        }
        else
        {
            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 = $upload_location . $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 ;
                message(true, $_FILES['files']['name'][$index], $file_name_complete);

            } 
            else 
            {
                message(false, $_FILES['files']['name'][$index], $file_name_complete);
            }
        }    
    }

    //echo "<script> aaa() </script>";  
    echo "Vous allez être redirigé dans qq secondes ....";

    //sleep(5);
    //header('Location: http://www.example.com/');
    //exit;              
    
    //header("Refresh:10; url=http://www.example.com");
    //$pieces[0]

    //$titi = "/home/analogde/www/Fusion/File explorer";

    //header("Refresh:5; url=$pieces[0]");

    //header("Refresh:5; url=/home/analogde/www/Fusion/File explorer ");
?>
    <script type="text/javascript"> 
    //alert('GeeksforGeeks!');
    redirection(); 
    </script> 

<?php
}



function message($value, $file_name, $revision)
{

    if($value)
    {
        if( $revision == "origine")
        {
            echo "Le fichier " .$file_name ." vient d'être insérer dans le systéme de management des fichiers" ."<br>";
        }
        else
        {
            echo "La version du fichier " .$file_name ." dispose d'une nouvelle version : " .$revision ."<img src='check.png' alt='Image' width='32' height='32'>" ."<br>";
        }
    }
    else
    {
        echo "Erreur : Le fichier " .$file_name ." n'a pas pu être transférer." ."<br>";
    }
}

?>

<!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>
-->

<script>

function jsfunction()
{
    alert("Yes");
}

function myFunction() {

alert("fgs");

 /* var x = document.getElementById("myDIV");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }*/
}

</script>    

<div id="myDIV">
<p>fsfedfs</p>
</div>

<input id="clickMe" type="button" value="clickme" onclick="myFunction();" />

<p style="display: none;">This text is hidden.</p>

<p style="display: block;">Je te vois</p>

<?php

    if( isset( $_SESSION['action'] ) &&  $_SESSION['action'] ==  "envoi" )
    {
        echo "Cache le forumlaire " ."<br><br>";
    }
    else
    {
?>
        <form action="" method="post" enctype="multipart/form-data">
            Upload File: <input type="file" id='files' name="files[]" multiple />
            <input type="submit" name="submit">
        </form>
<?php
    }
?>
    
    <!-- OK -->
    <input name="action" onclick="history.back()" type="submit" value="Retour à l'explorateur"/>


    <br>
    <!-- OK -->
    <button onclick="javascript:window.history.back();">Go Back</button>

    <br>
    <!-- OK -->
    <a href="javascript:history.go(-1)">
    <button type="button">
        Back
    </button>
</a>

 <!--   
    <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>
-->

<br><br><br>


<!--
<p id="resultat"></p>
-->

<br><br><br>

<p id="message_redirection"></p>

<div class="aligned">
        <img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200327230544/g4gicon.png"
            width="50" alt="">
            
        <span>GeeksforGeeks</span>
    </div>

<br>
<br>

    <img src=
"https://media.geeksforgeeks.org/wp-content/uploads/20200327230544/g4gicon.png"
            width="50" alt="">
            
    <span>
        GeeksforGeeks (using vertical-align)
    </span>

</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 '';
    }
}  

?>

<script> 
   
function aaa()
{
    document.getElementById("message_redirection").innerHTML = "Vous allez être rediriger sans qq secondes...";
    redirection();
}

function redirection()
{
    setTimeout(function()
    { 
     //window.location.href = "https://www.example.com";
     window.history.go(-1);
    }, 5000);
}

</script>