File "increment_upload03.php"
Full Path: /home/analogde/www/Prog/File explorer/increment_upload03.php
File size: 10.9 KB
MIME-type: text/x-php
Charset: utf-8
<?php
//$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/";
$upload_location = "/home/analogde/www/Fusion/File explorer/";
$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";
}
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");
$tmp_name = $_FILES['files']['tmp_name'][$index];
$file_name_complete = $file_name ."_" .$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 ;
} else
{
echo " ?????? ";
}
}
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 ;
}
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 '';
}
}
?>