J'ai un problème depuis quelques semaines, j'essaye de faire un formulaire où on upload un fichier avec plusieurs cases( chaque case correspond à un dossier) pour savoir où mettre le fichier.
<?php
// <input name="file" type="file" id="file"><br /><br />Cliquez pour télécharger<br /></input>
define('DOSSIER', './uploaded_files/paritel/*');
echo count(glob(DOSSIER . '/*', GLOB_ONLYDIR)) . ' sous-dossiers trouvés dans ' . DOSSIER;
echo '</br> </br>';
$b=count(glob(DOSSIER . '/*', GLOB_ONLYDIR));
echo "<label for='file'>Le fichier appartient à quel dossier ?</label>";
$dirs = glob("./uploaded_files/*/*/", GLOB_ONLYDIR);
$bases= array();
$value=array();
$i=0;
foreach($dirs as $dir)
{
$base = basename($dir);
$bases[] = $base;
$base = print_r("$bases[$i]",true) ;
$value = basename($dir);
$values[] = $value;
$value = print_r("$values[$i]",true) ;
echo '</br>';
echo "<html> </br> </br>";
echo "<form name='checkbox' method='post' action='upload.php'> ";
echo "<input type='checkbox' name='base[]' value='$i'>";
echo "<label for='$i'> Mettre sur le dossier $base ? </br> </label>";
//echo "<input type='file' name='file' id='fileToUpload'>";
echo "<input type='submit' value='upload' name='submit[]'>";
//echo "<input type=nom id='' name='$base' value='' placeholder='Nom du fichier'>";
echo '</html>';
//echo ' ' . $base . '<br>';
//echo $base;
$i++;
}
//name='submit[]'
//print_r($bases);
// enctype='multipart/form-data' LIGNE 38!!!
?>
<script>
$(document).ready(function(){
$('input:checkbox').click(function() {
$('input:checkbox').not(this).prop('checked', false);
});
});
</script>
Puis lorsque l'on clique sur Submit (=Bouton Upload), on est envoyé dans une autre page permettant l'upload.
<?php
include "tableau.php";
define('DOSSIER', './uploaded_files/paritel/*');
$b=count(glob(DOSSIER . '/*', GLOB_ONLYDIR));
$i = 0;
extract($bases, EXTR_PREFIX_SAME,$base);
// $dirs1 = pathinfo($_FILES["file"]['tmp_name']);
// print_r($dirs1);
$bases[] = $base;
$base = print_r("$bases[$i]",true) ;
print_r(pathinfo($_FILES["$bases[$value]"]['tmp_name']));
foreach( $_POST['base'] as $key => $value ) {
if(isset($_POST['submit'])){
if(isset($_POST['base'])){
//echo("$bases[$value]");
if (file_exists("$bases[$value]")) {
echo "Le fichier $bases[$value] existe déjà";
}
else{
if (move_uploaded_file( $_FILES["$bases[$value]"]['tmp_name'])){
echo "ok";
}
else{
echo "non ok";
}
}
}
else{
echo "cocher la case !";
}
}
else{
echo "Appuyer sur submit";
}
$i++;
}
?>
Le problème est que je n'arrive pas à faire un move_upload_file. je n'arrive pas à comprendre le if (move_uploaded_file( $_FILES["$bases[$value]"]['tmp_name'])). Si quelqu'un peut m'aider!Merci!