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 :

problème de creation d'archive


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 428
    Par défaut problème de creation d'archive
    Bonjour;

    J'ai le code suivant qui crée des fichiers XML et les compressent (zip) dans des archives, donc les fichiers XML sont bien créés mais pas les archives ?
    Il n'y a aucune erreur mais les fichiers ZIP ne sont pas créés :

    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
     
    $fxml='reference.xml';
    $dir='files';
    $nb_depots=2;
    for ($i=0 ; $i<$nb_depots; $i++)
    { 
    	$dom = new DomDocument();
    	$dom->load($fxml);
    	if ($dom->validate()) {
       		echo "Ce document est valide !\n";   
    	}
    	$Node = $dom->getElementsByTagName('Identification')->item(0);
    	$Num = str_pad ($i, 6, '0', STR_PAD_LEFT);
    	$Node->setAttribute("NoDepot", $Num);
    	$dom->save($dir.'/'."apdgaaaa.03$Num.xml");
    	$zip = new ZipArchive();
    	if ($zip->open("apdgaaaa.03$Num", ZipArchive::CREATE) === TRUE) {
    		$zip->addFile($dir.'/'."apdgaaaa.03$Num.xml");
    		$zip->close();
    		echo 'ok';
    		} else {
    		echo 'échec';
    		}
     
    }
    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 428
    Par défaut
    Au fait la bibliothèque marche bel et bien mais en ouvrant avec l'option ZIPARCHIVE::CREATE, ayant déjà une archive du même nom, elle est incapable de la supprimer pour en créer une nouvelle ?
    Quelqu'un a une solution sans créer une classe derivée de ZIPARCHIVE (je n'est pas de classe dasn mon code) !


    Citation Envoyé par yanis97 Voir le message
    Bonjour;

    J'ai le code suivant qui crée des fichiers XML et les compressent (zip) dans des archives, donc les fichiers XML sont bien créés mais pas les archives ?
    Il n'y a aucune erreur mais les fichiers ZIP ne sont pas créés :

    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
     
    $fxml='reference.xml';
    $dir='files';
    $nb_depots=2;
    for ($i=0 ; $i<$nb_depots; $i++)
    { 
    	$dom = new DomDocument();
    	$dom->load($fxml);
    	if ($dom->validate()) {
       		echo "Ce document est valide !\n";   
    	}
    	$Node = $dom->getElementsByTagName('Identification')->item(0);
    	$Num = str_pad ($i, 6, '0', STR_PAD_LEFT);
    	$Node->setAttribute("NoDepot", $Num);
    	$dom->save($dir.'/'."apdgaaaa.03$Num.xml");
    	$zip = new ZipArchive();
    	if ($zip->open("apdgaaaa.03$Num", ZipArchive::CREATE) === TRUE) {
    		$zip->addFile($dir.'/'."apdgaaaa.03$Num.xml");
    		$zip->close();
    		echo 'ok';
    		} else {
    		echo 'échec';
    		}
     
    }
    Merci

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    C'est comme l'ouverture d'un fichier (fopen), il faut choisir le mode approprié :
    ZIPARCHIVE::CREATE (entier)
    Crée l'archive si elle n'existe pas.
    ZIPARCHIVE::OVERWRITE (entier)
    Démarre toujours une nouvelle archive. Ce mode écrase le fichier s'il existe déjà.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 428
    Par défaut
    Citation Envoyé par julp Voir le message
    C'est comme l'ouverture d'un fichier (fopen), il faut choisir le mode approprié :

    OK.
    Une derniere question : peut-on lancer un scrpit PHP périodiquement, par exemple toutes 20sec exécuter le script toto.php.

    Merci

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    L'exécution périodique est possible mais pas, je pense, sur un intervalle aussi court (< 1 minute déjà). Parce que, là, ça ressemblerait plus à un démon.

Discussions similaires

  1. creation d archive dans le shell
    Par freakss dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 02/10/2007, 13h55
  2. [Win32] Problème de Creation et gestion d'un Timer.
    Par P'tit Troll dans le forum Windows
    Réponses: 1
    Dernier message: 01/08/2006, 16h59
  3. Problème de creation de repertoire avec une DLL
    Par Avisseau dans le forum Delphi
    Réponses: 4
    Dernier message: 19/06/2006, 09h13
  4. [Zip] Problème de création d'archives (Zip.lib.php)
    Par BOUHAMOU dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 24/04/2006, 12h51
  5. Problème de creation de thread sous linux
    Par xilebo dans le forum POSIX
    Réponses: 4
    Dernier message: 27/10/2004, 09h58

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