> Tous les forums > Forum 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 poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


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