Bonjour,
Après plusieurs phases de test, j'en suis venu à un soucis bien précis, celui de supprimer uniquement le fichier existant. Ma condition fonctionne par contre je ne parviens pas à faire en sorte que le unlink supprime qu'un fichier bien précis...
unlink("./img_tmp/".$nom_img);
C'est pourtant le bon chemin de mon répertoire. Après lorsque je fais un
var_dump($nom_img);
Cela me retourne :
string(51) "2-Attestation-Inscription-conseil-Departemental.jpg" string(20) "2-Carte-Identite.png" string(13) "2-Diplome.pdf" string(9) "2-RCP.png" string(9) "2-RIB.png" Qui sont inscrits dans ma BDD.
Du coup j'ai l'impression que lorsque j'utilise ma variable il y a tout ça à la fois alors que je souhaiterai qu'il y ait qu'un seul nom...
Dois-je refaire une boucle pour que le "unlink" supprime un par un les fichiers concernés ?
Voici la dernière version de mon code :
for($i=0; $i<=$total_ligne; $i++)
{
foreach ($result as $ligne) {
$value = $ligne['document_upl'];
$SQL_img = "SELECT * FROM recrut.img WHERE img_nom LIKE '".$_GET['user_id']."-".$ligne['document_upl'].".%'";
// echo $SQL_img;
$req_img = $mysqli -> query ($SQL_img);
$res_img = $req_img -> fetch_array();
if ($res_img["img_nom"] == NULL)
{
$_FILES["tmp_name"]='./img_tmp/';
// Recuperation des extensions
$infosfichier[$i] = pathinfo($_FILES["upload$i"]['name']);
$extension_upload[$i] = $infosfichier[$i]['extension'];
// Upload fichiers dans img_tmp
move_uploaded_file($_FILES["upload$i"]['tmp_name'], "./img_tmp/".$_GET["user_id"]."-".$value.".".$extension_upload[$i]);
$img_blob[$i] = '';
$img_nom[$i] = $_GET["user_id"]."-".$value.".".$extension_upload[$i];
$img_blob[$i] = addslashes(file_get_contents("./img_tmp/".$img_nom[$i]));
if ( !empty( $img_blob[$i] ) ) {
// Insere l'image dans la BDD
$requete = "REPLACE INTO recrut.img(img_id,img_nom,img_blob,img_date) VALUES (".$_GET['user_id'].",'".$img_nom[$i]."', '".$img_blob[$i]."', NOW());";
// Envoie de la requête
$result = $mysqli->query($requete) or die($requete . " " . $mysqli->error);
}
}
else
{
// array_map('unlink', glob("./img_tmp/".$_GET['user_id']."*"));
foreach ($req_img as $ligne_img) {
$nom_img = $ligne_img['img_nom'];
$blob_img = $ligne_img['img_blob'];
$doc_exist[$i] = $blob_img;
$tmpFile[$i] = "./img_tmp/".$nom_img;
error_log($tmpFile[$i]);
file_put_contents($tmpFile[$i], $doc_exist[$i]);
$tmpFile[$i];
// Recuperation des extensions
$infosfichier[$i] = pathinfo($_FILES["upload$i"]['name']);
$extension_upload[$i] = $infosfichier[$i]['extension'];
if ($tmpFile[$i] != "./img_tmp/".$_GET["user_id"]."-".$value.".".$extension_upload[$i])
{
unlink("./img_tmp/".$nom_img);
var_dump($nom_img);
// Upload fichiers dans img_tmp
move_uploaded_file($_FILES["upload$i"]['tmp_name'], "./img_tmp/".$_GET["user_id"]."-".$value.".".$extension_upload[$i]);
}
// var_dump($tmpFile[$i]);
$img_nom[$i] = $nom_img;
$img_blob[$i] = addslashes(file_put_contents($tmpFile[$i], $doc_exist[$i]));
if ( !empty( $img_blob[$i] ) ) {
// Insere l'image dans la BDD
$requete = "REPLACE INTO recrut.img(img_id,img_nom,img_blob,img_date) VALUES (".$_GET['user_id'].",'".$img_nom[$i]."', '".$img_blob[$i]."', NOW());";
// Envoie de la requête
$result = $mysqli->query($requete) or die($requete . " " . $mysqli->error);
}
}
}
$i++;
}
}
En espèrant que quelqu'un puisse m'aider...