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

Symfony PHP Discussion :

Décompression et fusion de fichier xml


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Par défaut Décompression et fusion de fichier xml
    Bonjour!

    Je vous explique la situation. Je reçois des fichier .zip qui ont tous un nom différent. Mais qui ont tous la même structure interne : un fichier .xml (qui possède le même nom que le .zip) et des fichier .jpg.

    J'aimerais tout décompresser, fusionner les fichier .xml ensemble et renommer le .xml générer (après la fusion de tout les fichiers .xml) et pour finir tout regrouper dans un seul fichier .zip (celui-ci comportera un fichier .xml (le fichier ou j’aurais fusionner tout les autres .xml) et tous les .jpg).

    Pour exemple : (xxx nom qui ne seront jamais les mêmes)
    dossier1 contient dossier1.xml et xxx.jpg
    dossier2 contient dossier2.xml et xxx.jpg
    dossier3 contient dossier3.xml et xxx.jpg

    et je veux arriver à sa :

    dossier contient dossier.xml (fusion dossier1.xml, dossier2.xml et dossier3.xml) et xxx.jpg (tout les jpg des tout les dossiers)

    Je sais que cela est possible avec xlst mais je n'ai aucune connaissance dans ce sujet!! J'aimerais juste savoir si c'est possible de faire en php et une ébauche pour commencer.

    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Par défaut
    J'ai une ébauche de ce que je pensait faire :

    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
    <?php
     
    if ($dir = opendir("/home/monsite/www/mondossier/dossierdereceptiondeszips/")) {
    		  echo "Pointeur: ".$dir."\n";
    		  echo "Chemin: ".getcwd()."\n";
    		  while($file = readdir($dir)) {
    			echo "$file\n";
    			if(is_dir($file) && !in_array($file, array(".",".."))) {
    				list_dir($file,$level+1);
    			  }
    			$filenoext = strrchr($file, '.');
    			mkdir("/home/monsite/www/mondossier/dossierparentdesdossierdedezippage/".$filenoext."_zip", 0775);
     
    		system("unzip -o -q -d \"/home/monsite/www/mondossier/dossierparentdesdossierdedezippage/".$filenoext."_zip\" '/home/monsite/www/mondossier/dossierdereceptiondeszips/".$file."'");
     
    		if (file_exists("/home/monsite/www/mondossier/dossierparentdesdossierdedezippage/".$filenoext."_zip/".$filenoext.".XML")) {
    			$xml = simplexml_load_file("/home/monsite/www/mondossier/dossierparentdesdossierdedezippage/".$filenoext."_zip/".$filenoext.".XML");
     
    			//je fait mon traitement des fichier xml dans le dossier
     
    		}
     
    	}
    		closedir($dir);
    	}
    	?>
    Mais le résultat ne me donne pas ce que j’espérais :

    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
    Pointeur: Resource id #700
    Chemin: /home/monsite/www
    dossier5.zip
    ..
    unzip:  cannot find or open /home/monsite/www/mondossier/dossierdereceptiondeszips/.., /home/monsite/www/mondossier/dossierdereceptiondeszips/...zip or /home/monsite/www/mondossier/dossierdereceptiondeszips/...ZIP.
    .
    PHP Warning:  mkdir(): File exists in /home/monsite/www/monscript.class.php on line 44
    unzip:  cannot find or open /home/monsite/www/mondossier/dossierdereceptiondeszips/., /home/monsite/www/mondossier/dossierdereceptiondeszips/..zip or /home/monsite/www/mondossier/dossierdereceptiondeszips/..ZIP.
    dossier1.zip
    PHP Warning:  mkdir(): File exists in /home/monsite/www/monscript.class.php on line 44
    dossier2.zip
    PHP Warning:  mkdir(): File exists in /home/monsite/www/monscript.class.php on line 44
    dossier4.zip
    PHP Warning:  mkdir(): File exists in /home/monsite/www/monscript.class.php on line 44
    dossier3.zip
    PHP Warning:  mkdir(): File exists in /home/monsite/www/monscript.class.php on line 44
    Sa me crée un dossier .zip_zip et un ._zip

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    ta variable $filenoext contient bien ce que tu attends?

Discussions similaires

  1. Réponses: 34
    Dernier message: 23/06/2010, 16h36
  2. [XSLT] Fusion de fichiers XML par XSLT
    Par Invité dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 14/04/2008, 21h26
  3. [JDOM] Fusion de fichiers XML
    Par rptmat57 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 18/07/2007, 11h37
  4. fusion de fichiers XML et access 2003
    Par frdek dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 29/11/2005, 11h23
  5. [XSLT] Fusion de fichier XML ???
    Par webtheque dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/03/2005, 20h13

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