> Tous les forums > Forum des Webmasters
 écrire dans un fichierSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
padymen
  Posté le 29/07/2014 @ 16:51 
Aller en bas de la page 
Astucien

Bonjour,

Je cherche en php à lister un répertoire puis incrémenter un fichier xml qui se compose comme suit :

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<AlbumArt>
<Folder Date="1406625154000" />
<Image File="1.jpg=.folder/1.browse.jpg" Type="0" />
<Image File="2.jpg=.folder/2.browse.jpg" Type="0" />


</AlbumArt>

jusque la pas de soucis mais la ou je ne sais pas comment faire c'est faire en sorte que le résultat soit écris non à la fin du xml mais juste avant la balise de fin "</AlbumArt>"

merci

Publicité
padymen
 Posté le 29/07/2014 à 18:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bon, j'ai trouvé une solution : ouvrir le fichier, chercher la dernière ligne (la balise de fin "</AlbumArt>"), je l’efface et je la réécris à la fin.

soit :

$nomFichier = 'folder.xml';
$Ligne_A_Effacer ='</AlbumArt>';
$fileOpen = file($nomFichier);
$numFileLine = count($fileOpen);
for($i = 0; $i< $numFileLine; ++$i) {
if (trim($fileOpen[$i]) == $Ligne_A_Effacer) {
unset($fileOpen[$i]);
}
}
$fileRecord = implode('', $fileOpen);
// en php4
$fh = fopen($nomFichier, 'w') or die("Erreur!!");
fwrite($fh, "$fileRecord");
fclose($fh);

suivi de :

$fp = fopen("folder.xml","a");
$mydir = 'films';
$fin='</AlbumArt>';
if ($dir = opendir($mydir)) {
while (($file = readdir($dir)) !== false) {
$path= explode (".", $file);
$un=$path[0];
$deux=$path[1];

if ($file != ".." && $file != "." && $deux != "browse" && $deux != "poster" ) {
echo '<option value="' . $un . '"';
echo '> ' . $un . ' </option>';
$xml='<Image File="'.$un.'.'.$deux.'=.folder/'.$un.'.browse.jpg" Type="0" />';
fwrite($fp, "$xml\n");
}
}
}
fwrite($fp, "$fin\n");

fclose($fp);

surement pas très pro comme méthode mais ça semble fonctionner ...

y.bli
 Posté le 29/07/2014 à 18:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Bonjour,

Plus simple, j'incrémente un fichier texte, puis dans ton fichier xml, à l'endroit où tu veux, j'ajoute <?php include 'fichier.txt' ?>

@+

padymen
 Posté le 29/07/2014 à 19:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir y.bli

je ne savais même pas que je pouvais appeler du php dans xml, merci de l'astuce

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
37,49 €Pack clavier + souris sans-fil Logitech MK470 à 37,49 €
Valable jusqu'au 16 Mai

Amazon fait une promotion sur le pack clavier + souris sans-fil Logitech MK470 à 37,49 € au lieu de 50 €. Compact et avant-gardiste, cet ensemble Logitech MK470 est parfait pour travailler efficacement. L'ensemble se distingue notamment par sa simplicité et à leur profil ultra-mince. Le clavier compact comprend notamment un pavé numérique et 12 raccourcis de fonction, vous offrant ainsi toutes les touches dont vous avez besoin. De plus, les touches à microcharnières extra-plates offrent une expérience de frappe fluide et familière. Quant à la souris, elle est dotée de trois boutons et d'une molette de défilement extrêmement silencieuse. Et avec sa forme en galet et la douceur de la souris ambidextre, elle offre un grand confort d'utilisation pour les droitiers comme les gauchers. 


> Voir l'offre
29,92 €Ensemble clavier + souris sans fil Logitech MK270 à 29,92 €
Valable jusqu'au 16 Mai

Amazon fait une promotion sur l'ensemble clavier + souris sans fil Logitech MK270 qui passe à 29,92 € alors qu'on le trouve habituellement autour de 35 €. Cet ensemble est composé d'un clavier sans fil Logitech avec des touches silencieuses et d'une souris sans fil adaptée à la forme de la main qui convient aux droitiers comme aux gauchers. Un seul récepteur USB vous permettra d'utiliser ces 2 périphériques sans fil. La livraison est gratuite.


> Voir l'offre
155,99 €SSD externe portable USB 3.1 SanDisk Extreme 1 To NVME (1050 Mo/s) à 155,99 €
Valable jusqu'au 16 Mai

Amazon fait une promotion sur le SSD externe portable USB 3.1 SanDisk Extreme 1 To NVME qui passe à 155,99 € alors qu'on trouve le SSD à 200 € ailleurs. Le disque SSD SanDisk Extreme NVME Portable 1 To permet, grâce à sa connectique USB 3.1, des haute vitesse de transfert pouvant aller jusqu'à 1050 Mo/s grâce au disque NVMe qu'il contient. Sa coque robuste et certifiée IP55 (eau et poussière) protège vos données partout où vous allez. Vous ne craindrez pas de l'emporter partout avec vous grâce à sa conception robuste et résistante avec un coeur de SSD résistant aux chocs. Le logiciel SanDisk inclu SecureAccess peut crypter vos fichiers personnels. Garantie 5 ans. Interface : USB 3.1 Type A et C.


> Voir l'offre

Sujets relatifs
Ecrire dans un fichier XML
inserer un fichier audio dans une page web
php écrire un fichier js
Sauter une ligne dans un fichier texte.
afficher un fichier xls dans page WEB
Ouverture fichier pdf dans frame sous firefox
"include()" dans un fichier .tpl ?
[HTML]Ecrire sur plusieurs ligne dans un tableau
un fichier pdf dans une page web
Importer un fichier excel dans une bdd MySQL
Plus de sujets relatifs à écrire dans un fichier
 > Tous les forums > Forum Forum des Webmasters