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

EDI, CMS, Outils, Scripts et API PHP Discussion :

telecharger un fichier zip qui contient une liste de fichier à supprimer


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 35
    Points
    35
    Par défaut telecharger un fichier zip qui contient une liste de fichier à supprimer
    bonjour,
    je suis entrain de coder une page archive en php j'ai rencontré un peu problème.

    losque je coche un ou plusieurs ligne d'enregistrements et je tape le nom de fichier zip puis je clique sur le bouton supprimer.
    le resultat est :
    -il m'affiche la fenetre de telechargement de fichier zip mais il ne fait pas la suppression.
    - ou bien il fait la suppression et il n'affiche pas la fenetre de telechargement de fichier zip.
    avez vous une idée.
    j'ai besoin de l'aide.
    mon code est le suivant :
    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
    $add=$_SERVER['REQUEST_URI'];
    	if (!empty($_POST['supprimer'])) {
    	$values = array();
         foreach ($_POST['supprimer'] as $cle) {	 
          $requete = "SELECT fichier FROM sauvegarde where id=".$cle;
          $res = mysql_query($requete) or die(__LINE__.mysql_error().$requete);
    	  while ($zip = mysql_fetch_assoc($res)){
    	  $values[] = $zip['fichier'];	  
    	 } 
    	 mysql_query("delete from sauvegarde where id=".$cle);
         }
    	require("zip.lib.php") ; //indiquez le chemin d'accès à la librérie
    	$zip = new zipfile() ; //on crée un fichier zip
    	$a = 0 ;
    	while(count($values)>$a)
    	{
    	$fp = fopen($values[$a],'r') ; //on ouvre le fichier en lecture seule
    	$contenu = fread($fp, filesize($values[$a])) ; //on enregistre le contenu
    	fclose($fp) ; //on ferme FTP
    	$zip->addfile($contenu, $values[$a]) ; //on ajoute le fichier
    	$a++; //on incrémente $a
    	}
    	$archive = $zip->file() ; //on associe l'archive
    	header('Content-Type: application/x-zip') ; //on détermine les en-tête
    	header('Content-Disposition: inline; filename='.$_POST['nomzip'].'.zip') ;
    	echo $archive ;
        //header("Location:".$add);
         }
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Debug en faisans des echo de contrôle, par exemple affiche les requetes de suppressions pour voir exactement ce qu'il fait.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 35
    Points
    35
    Par défaut
    j'ai fait le contrôle mais le problème est qu'il fait la suppression direct.
    le code s'arrête au niveau du suppression.
    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
     
     $add=$_SERVER['REQUEST_URI'];
    	if (!empty($_POST['supprimer'])) {
    	$values = array();
         foreach ($_POST['supprimer'] as $cle) {	 
          $requete = "SELECT fichier FROM sauvegarde where id=".$cle;
          $res = mysql_query($requete) or die(__LINE__.mysql_error().$requete);
    	  while ($zip = mysql_fetch_assoc($res)){
    	  $values[] = $zip['fichier'];	  
    	 } 
    	 mysql_query("delete from sauvegarde where id=".$cle);
    //le code s'arrete la
         }
    	 echo "**********************************************";
    	require("zip.lib.php") ; //indiquez le chemin d'accès à la librérie
    	$zip = new zipfile() ; //on crée un fichier zip
    	$a = 0 ;
    	while(count($values)>$a)
    	{
    	$fp = fopen($values[$a],'r') ; //on ouvre le fichier en lecture seule
    	$contenu = fread($fp, filesize($values[$a])) ; //on enregistre le contenu
    	fclose($fp) ; //on ferme FTP
    	$zip->addfile($contenu, $values[$a]) ; //on ajoute le fichier
    	$a++; //on incrémente $a
    	}
    	$archive = $zip->file() ; //on associe l'archive
    	header('Content-Type: application/x-zip') ; //on détermine les en-tête
    	header('Content-Disposition: inline; filename='.$_POST['nomzip'].'.zip') ;
    	echo $archive ;
        //header("Location:".$add);
    	echo "-----------------------";
         }
    est ce qu'il y a une solution?? est-il possible de regrouper ces deux fonctionnalités (suppression et téléchargement)????

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    c'est dans la boucle qu'il faut faire le echo de controle.
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = "delete from sauvegarde where id=".$cle;
    mysql_query($sql) or die (mysql_error());
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 35
    Points
    35
    Par défaut
    il n'affiche rien comme message d'erreur.
    il crée le fichier zip mais la suppression non ça marche pas.
    la fenêtre de téléchargement bloque tout.
    elle ne permet pas de faire la suppression.
    avez vous une autre solution??

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 35
    Points
    35
    Par défaut
    j'ai besoin d'une réponse.
    y a t_il quelqu'un pour m'aider??

Discussions similaires

  1. pouvoir copier un texte qui contient une liste deroulante
    Par cool2505 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 03/10/2014, 12h23
  2. Verrouiller une cellule (qui contient une liste) si j+30
    Par micnac dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 27/05/2014, 14h12
  3. Réponses: 7
    Dernier message: 26/05/2014, 08h39
  4. Réponses: 2
    Dernier message: 30/12/2010, 22h08
  5. trouver le fichier zippé qui contient une expression
    Par talvins dans le forum Administration système
    Réponses: 12
    Dernier message: 16/12/2009, 17h01

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