IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

comment supprimer une image dans une galerie sans bdd


Sujet :

Langage PHP

  1. #1
    Débutant Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Points : 72
    Points
    72
    Par défaut comment supprimer une image dans une galerie sans bdd
    slt à tous !!!
    j'ai réalisé une galerie photo sans base de donnée.
    je souhaite mettre en place une méthode me permettant de supprimer une ou plusieurs images de la galerie.
    Un formulaire me permet de sélectionner l'image à ajouter, lors de l'ajout le fichier image est crée dans un répertoire mini dans lequel les images sont dans un format réduit. Mes fichiers sont listés sans un fichier texte (donnees.txt).
    Je pensais plutot à lister le contenu de mon dossier avec soit un lien supprimer ou des cases à cocher, ou sinon une zone de liste avec comme contenu les fichier image et un bouton supprimer?
    quel est le meilleur choix?
    J'attend avec impatience vos conseils
    merci

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Salut,
    Je pense que parcourir les dossier et afficher les images reste la solution la plus simple.
    Pour la suppression, rien de difficile puisque pour chaque image tu connais le nom du fichier.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Points : 47
    Points
    47
    Par défaut
    Plop,

    Je suis entrain de réaliser exactement la même chose pour mon projet.

    Dans le script qui permet d'ajouter une image, j'ai mis un lien vers une page : galerie_photo.php où toutes les images sont affichés.

    J'affiche toutes les images à l'aide d'un scandir du dossier puis un foreach.

    Sous chaque image tu renseigne leurs noms et tu ajoutes un lien pour supprimer la photo.

    C'est ce qui me parait être le mieux.

    Ciao.

  4. #4
    Débutant Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Points : 72
    Points
    72
    Par défaut
    Ok merci pour vos suggestions, la seconde questions que je me pose, c'est comment je dois coder la suppression ?
    personnellement j'ai commencé ma réflexion avec un $_GET?
    avez vous d'autres suggestions ?
    merci

  5. #5
    Membre actif Avatar de firehist
    Homme Profil pro
    Intégrateur Web Freelance
    Inscrit en
    Février 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 151
    Points : 214
    Points
    214
    Par défaut
    Citation Envoyé par VIRGINIE87 Voir le message
    Ok merci pour vos suggestions, la seconde questions que je me pose, c'est comment je dois coder la suppression ?
    personnellement j'ai commencé ma réflexion avec un $_GET?
    avez vous d'autres suggestions ?
    merci
    Bonjour,

    Tu peux générer un formulaire avec une case à cocher en dessous de chaque image. une fois le formulaire validé, les images où la case sera cochée se verront supprimée vu que tu connait le nom de l'image.

    Script de la galerie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form action="..." method="POST">
     
    <!-- IMAGE 1 -->
    <img src="SRC_TO_IMAGE1" title="IMAGE1" \>
    <input type="checkbox" name="img_delete[]" value="PATH_TO_IMAGE1">
    <!-- IMAGE 2 -->
    <img src="SRC_TO_IMAGE2" title="IMAGE2" \>
    <input type="checkbox" name="img_delete[]" value="PATH_TO_IMAGE2">
    <!-- IMAGE 3 -->
    <img src="SRC_TO_IMAGE3" title="IMAGE3" \>
    <input type="checkbox" name="img_delete[]" value="PATH_TO_IMAGE3">
    </form>
    Script de la suppression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    if (isset($_POST,$_POST['img_delete']))
    {
      foreach ($img_delete as $path)
      {
        echo "Suppression image : ",$path,"<br>";
        @unlink( $path );
      }
    }
    ?>
    Si tu veux plus d'infos demande moi, je surveille le sujet.

  6. #6
    Débutant Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Points : 72
    Points
    72
    Par défaut
    voila ce que j'ai déjà essayé de faire :
    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <?php
    if(!empty ($_FILES)){
    require("imgClass.php");
    $img=$_FILES['img'];
    $ext=strtolower(substr($img['name'],-3));
    $allow_ext = array("jpg","png","gif");
    if(in_array($ext,$allow_ext)){
    move_uploaded_file($img['tmp_name'],"images/".$img['name']);
    Img::creerMin("images/".$img['name'],"images/min",$img['name'],215,112);
    Img::convertirJPG("images/".$img['name']);
    }
    else{
    	$erreur = "votre fichier n'est pas une image";
    	}
    }		
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script type="text/javascript" src="zoombox/jquery.js"></script>
    <script type="text/javascript" src="zoombox/zoombox.js"></script>
    <link href="zoombox/zoombox.css" rel="stylesheet" type="text/css" media="screen" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <?php
    if(isset($erreur)){
    echo $erreur;
    }
    ?>
        <form method="post" action="index.php" enctype="multipart/form-data">
    	<input type="file" name="img"/>
    	<input type="submit" name="Envoyer"/>
    	</form>
    	<?php
    	$dos="images/min";
    	$dir = opendir($dos);
    	while($file= readdir($dir)){
    	$allow_ext = array("jpg",'png','gif');
    	$ext=strtolower(substr($file,-3));
    	if(in_array($ext,$allow_ext)){
    	?>
    	<?php
      }
    }
     
    $files = glob("images/min/*.*");
    $compteur = count($files);
    echo "Il y a <font color=#FF0000>$compteur</font>images dans le dossier min "; 
    $nb_colonne=4;
    $nb_ligne= ($compteur) / ($nb_colonne);
    echo " et il y a <font color=#FF0000>$nb_ligne </font> lignes dans la gallerie";
     
    ?>
     
    <table>
    <?php
        for ($i = 0; $i < $compteur; $i+=4) { // On augmente de 4 à chaque passage de la boucle et elle tourne tant qu'on a pas atteint le compte
            echo '<tr>';
     
            for ($j = $i; $j < ($i + 4); $j++) { // Les quatre prochains fichiers
               if (isset($files[$j])) // Vérifie qu'on n'est pas rendu trop loin
    		   // Le nom du fichier en cours
    		   echo '<td><a href="'.$files[$j].'"  rel="zoombox[galerie]" ><img src="' . $files[$j] . '" alt="Image" ></a></td>';
            }
            echo '</tr>';
        }
     
    if ($dir = opendir("H:\Wamp\wamp\www\images\min")) {
     
      while($file = readdir($dir)) {
    	echo "$file<br>\n";
     
    	echo'<a href="supprimerimage.php?id=.$files[$j].?">supprimer</a>';
      }
    }
    ?> 
     
    </table>
    </body>
    </html>
    en fait, j'ai listé les fichiers images dans la page index et je les ai stocké dans un fichier texte (qui m'a permis de gérer les doublons) et en face de chaque nom de fichier j'ai mis un lien supprimer qui executer le script de suppression.

    mais l'idée m'interesse fortement par la suite.

  7. #7
    Membre actif Avatar de firehist
    Homme Profil pro
    Intégrateur Web Freelance
    Inscrit en
    Février 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 151
    Points : 214
    Points
    214
    Par défaut
    Dans ce cas là tu es je pense (... ca m'arrive ^^) obligé de passer par un $_GET.

    Tu peut générer un formulaire par image mais c'est sacrement moche...

    Mais je suis anti-fichier texte donc je suis totalement contre ta gestion des images

  8. #8
    Débutant Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Points : 72
    Points
    72
    Par défaut
    donc moi j'ai commencé à travailler avec un fichier texte, mais je ne sai pa comment my prendre sans fichier texte, que me proposes tu alors comme démarche?
    mais je pense kil es egalement possible de faire un $_GET avec un fichier texte,non?

Discussions similaires

  1. [XL-2007] Comment supprimer des lignes d'une plage dans une colonne sous condition
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/06/2015, 11h34
  2. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  3. Comment placer une image dans une table de une base de données
    Par Arnold Falanga dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/07/2012, 09h29
  4. Réponses: 1
    Dernier message: 21/01/2011, 10h17
  5. Insérer une légende dans une image avec une police plus petite
    Par Paulinho dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 29/04/2006, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo