8791 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai crée un back office pour ajouter, modifier ou supprimer des fiches issuent d'une base de données mySQL.

J'ai une table de la base qui comprend entre autre le nom du fichier d'image sous la forme xxxx.jpg

Au moment de la suppression d'une fiche, je voudrais également supprimer l'image physique présente sur le serveur.

Je n'arrive pas à trouver la bonne écriture pour que ça fonctionne !

J'utilise Dreamweaver car je ne suis vraiment pas un développeur ! Je crée au préalable un jeux d'enregistrement supprimer_pic qui me permet de faire passer en URL l'id (clé) de la fiche concernée afin ensuite de pouvoir supprimer la bonne photo.

J'ai commencé à écrire ceci :

<?php unlink("../commun/images/agenda/echo $row_supprimer_pic['photo']"); ?>


où 'photo' est le nom du champ photo de ma table.

En fait echo $row_supprimer_pic['photo'] n'est pas vu comme un élément dynamique.
Quelqu'un pourrait-il m'aider en me disant comment écrire cette ligne de manière à ce que echo $row_supprimer_pic['photo']"); soit vu comme le nom de mon fichier photo et puisse donc être supprimé !

Ou bien s'il existe une autre méthode ?

Merci d'avance !!!!
Salut,

Il va falloir par commencer à revoir les bases du langage, notamment ce qui s'appelle la concaténation. De plus, tu utilises un echo, alors que tu n'es pas censé vouloir un affichage à l'écran ...

<?php
unlink( '../commun/images/agenda/' . $row_supprimer_pic['photo'] );
?>
Merci pour la réponse !
Alors pour le moment ça ne marche toujours pas. J'imagine que c'est un problème de placement avec le code généré par Dreamweaver ?

Voici le code qui permet la suppression d'une fiche.
A quel niveau puis-je inséré le code unlink ?

J'ai essayé en dessous juste après la dernière fermeture de ?> mais ça supprime bien toujours la fiche mais pas l'image physique Smiley bawling


<?php require_once('../Connections/sauve.php'); ?>

<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM agenda WHERE id=%s",
                       GetSQLValueString($_GET['id'], "int"));

  mysql_select_db($database_sauve, $sauve);
  $Result1 = mysql_query($deleteSQL, $sauve) or die(mysql_error());

  $deleteGoTo = "confirm_suppr.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Document sans titre</title>
</head>

<body>
</body>
</html>
Hello

Si cela peut t'aider, j'utilise ce code dans mon CMS :

$dossier = array(100, 500, 50); // Les images ont été uploadées et redimensionnées dans ces formats et dossiers
foreach ($dossier as $value) {
		for($i=1; $i!=4; $i++) {
					if(file_exists($document_root."/images/".$value."/".$NOM_IMAGE.jpg")) {
						unlink($document_root."/images/".$value."/".$NOM_IMAGE.jpg");
							
					} 
				} 
			}

Pour chaque image, je vais voir si elle existe et je la supprimer de chaque dossier.

++
Modifié par Florent73 (26 May 2009 - 15:00)
Désolé je n'ai pas compris ce script, mes compétences ne vont pas jusque là malheureusement Smiley decu

Ce qui m'interesse vraiment c'est de savoir comment intégrer la fonction unlink dans le script déjà en place.

Si quelqu'un peut m'aider ce serait très sympa !!! Merci !!!! Smiley confused