Lister un dossier + Suppresion

djsquinje Messages postés 736 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 31 mai 2017 - Modifié par BunoCS le 16/06/2014 à 14:04
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 16 juin 2014 à 16:59
Bonjour,
Alors voila j'ai un petit problème :

Dans la partie admin de mon site, j'ai la page diviser en deux
- A droite : Photos actuelles
- A gauche : Upload de photos

Sur ma partie de droite, je voudrais crée un bouton, un lien qui me permettrai d'effacer certaine photos.

Mais je n'y parviens pas, comment faire ?

Merci de vos réponse

Quand on est mort, on ne sait pas qu'on est mort; C'est pour les autres que c'est difficile. Quand on est con, c'est pareil...

3 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
16 juin 2014 à 14:12
Bonjour,

je voudrais crée un bouton, un lien qui me permettrai d'effacer certaine photos.
Mais je n'y parviens pas,

Et qu'est ce que tu n'arrives pas à faire ?
En quoi ton code ne marche t'il pas (tu peux nous le montrer) ?


Et puis... tu veux supprimer les photos.... ok... mais les supprimer d'où ?
D'une base de données, du répertoire où elles se trouvent sur le serveur ??





0
djsquinje Messages postés 736 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 31 mai 2017 3
16 juin 2014 à 14:29
C'est vrais j'ai pas donnée assez de détail..

Le code source est la : www.vic-tech.fr/emilio/photos.php
Actuellement j'essaye en local, les photos sont tous simplement dans un dossier "photos"

Avec mon code j'arrive a afficher les photos, mais je voudrais que je puisse également les supprimer.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
16 juin 2014 à 14:38
Le code source est la : www.vic-tech.fr/emilio/photos.php

Merci de poster le code concerné SUR le forum directement.

je voudrais que je puisse également les supprimer.
Les supprimer ....d' OU ??
0
djsquinje Messages postés 736 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 31 mai 2017 3
Modifié par jordane45 le 16/06/2014 à 14:47
Voici le code trouver sur internet :

<div class="diapo">
<?php
error_reporting(E_ALL | E_STRICT);

define ("NBRE_COLONNES", 4);

$types_ok = array ('image/jpeg', 'image/gif', 'image/png');
$tabl_exclus = array ('.', '..', 'miniature');
$tabl_liens = array();

// Parcours le répertoire courant et tout ses sous-répertoires récursivement.
function liste_repertoire($dir) {
 if ($handle = opendir($dir)) {
  while (($file = readdir($handle)) !== false) {
   $chemin_fichier = $dir.'/'.$file;
   if (is_dir($chemin_fichier)) {
    if (!in_array($file, $GLOBALS['tabl_exclus'])) {
     liste_repertoire($dir.'/'.$file);
    }
   } else {
    if (est_image($chemin_fichier)) {
     $chemin_miniature = $dir.'/miniature/'.$file;
     if (!file_exists($chemin_miniature)) {
      genere_miniature($dir, $chemin_fichier, $chemin_miniature);
     }
     ajoute_lien($chemin_fichier, $chemin_miniature, $file);
    }
   }
  }
  closedir($handle);
 }
}

// Teste si le fichier passé en paramètre correspond à l'un des trois type d'image défini
function est_image($chemin_fichier) {
 if (list($GLOBALS['largeur'], $GLOBALS['hauteur'], $type) = getimagesize($chemin_fichier)) {
  $type = image_type_to_mime_type($type);
  if (in_array($type, $GLOBALS['types_ok'])) {
   $ext = explode("/", $type);
   $GLOBALS['extension'] = $ext[1];
   return true;
  }
 }
 return false;
}

// Génère la miniature de l'image dans le sous-répertoire 'miniature' si elle n'existe pas déjà
function genere_miniature($dir, $chemin_image, $chemin_miniature) {
 // Calcul du ratio entre la grande image et la miniature
 $taille_max = 100;
 if ($GLOBALS['largeur'] <= $GLOBALS['hauteur']) {        
  $ratio = $GLOBALS['hauteur'] / $taille_max;
 } else {
  $ratio = $GLOBALS['largeur'] / $taille_max;
 }
 
 // Définition des dimensions de la miniature
 $larg_miniature = $GLOBALS['largeur'] / $ratio;
 $haut_miniature = $GLOBALS['hauteur'] / $ratio;
 
 // Crée la ressource image pour la miniature
 $destination = imagecreatetruecolor($larg_miniature, $haut_miniature);
 
 // Retourne un identifiant d'image jpeg, gif ou png
 $source = call_user_func('imagecreatefrom'.$GLOBALS['extension'], $chemin_image);
 
 // Redimensionne la grande image
 imagecopyresampled( $destination,
    $source,
    0, 0, 0, 0,
    $larg_miniature,
    $haut_miniature,
    $GLOBALS['largeur'],
    $GLOBALS['hauteur']);
      
 // Si le répertoire de miniature n'existe pas, on le crée
 if (!is_dir($dir.'/miniature')) {
  mkdir ($dir.'/miniature', 0700);
 }
 
 // Ecriture physique de l'image
 call_user_func('image'.$GLOBALS['extension'], $destination, $chemin_miniature);
 
 // Détruit les ressources temporaires crées
 imagedestroy($destination);
 imagedestroy($source);
}

// Crée le lien dans le tableau global
function ajoute_lien($chemin_image, $chemin_miniature, $file) {
 // Récupère la taille de la miniature sous forme HTML (width="xxx" height="yyy")
 $taille_html_miniature = getimagesize($chemin_miniature);
 $taille_html_miniature = $taille_html_miniature[3];
 
 // Rajoute le lien vers l'image au tableau global $GLOBALS['tabl_liens']
 $lien = '<a href="'.$chemin_image.'">';
 $lien .= '<img src="'.$chemin_miniature.'" '.$taille_html_miniature.' alt="'.$file.'">';
 $lien .= '</a>'."\n";
 
 array_push($GLOBALS['tabl_liens'], $lien);
}

// Gère l'affichage du tableau $GLOBALS['tabl_liens']
function affichage() {
 $compteur = 1;
 foreach ($GLOBALS['tabl_liens'] as $val_lien) {
  if ($compteur % NBRE_COLONNES == 1) {
   echo '<br>';
  }
  echo $val_lien;
  $compteur++;
 }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[http://www.w3.org/TR/html4/loose.dtd]">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Affichage images</title>
<style type="text/css">
<!--
a img {
 border-color:transparent;
 }
-->
</style>
</head>
<body>
<?php
 liste_repertoire('.');
 affichage();
?>


je voudrais que je puisse également les supprimer.

Les supprimer ....d' OU ??


Bah de mon fichier photos en local sur mon PC "/photos/"
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
16 juin 2014 à 16:59
Actuellement j'essaye en local, les photos sont tous simplement dans un dossier "photos"
En local.. tu peux (mais uniquement avec IE) le faire en javascript (à l'aide d'un ActiveX)


Un truc du genre :
//monFichier = Path complet du fichier
// par exemple : "c:\temp\mes_images\maphoto.jpg"
function delfile(monFichier)
  {
   
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   var fileBool = fso.FileExists(monFichier);
   if(fileBool)
     {
      fso.DeleteFile(monFichier,true);
     }
  }



Si, par contre, tu veux utiliser un autre navigateur internet (autre que IE et ses ActivX) et/ou faire de la suppression non plus en local mais sur un "serveur" ... il te faudra obligatoirement passer par du PHP (éventuellement couplé à du javascript => de l' AJAX ) car le javascript (seul) s'execute UNIQUEMENT côté client.
Mais là... une petite recherche sur le net devrait te permettre de trouver la réponse...



0
Rejoignez-nous