> 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
1,70 €Rallonge USB 2.0 3 mètres à 1,70 €
4 € -58%

Amazon fait une promotion sur la rallonge USB 2.0 d'une longueur 3 mètres qui passe à 1,70 € au lieu de 4 €. D'autres longueurs sont également en promotion : 1 mètre à 1,20 €, 2 mètres à 0,98 € et 5 mètres à 2,70 €


Voir l'offre
126,34 €Ecran portable 14 pouces Arzopa (FullHD, IPS, USB-C) à 126,34 €
159 € -21%

Amazon fait une promotion sur l'écran portable 14 pouces Arzopa qui passe à 126,34 € au lieu de 159 € grâce à un coupon à activer sur la page du produit. Cet écran à emporter partout avec vous possède une dalle IPS antireflet FullHD avec un design ultrafin. L'alimentation et l'affichage se font par USB-C. Branchez simplement votre ordinateur portable ou votre smartphone pour profiter d'un second écran ou même votre console, un ordinateur fixe ou un raspberry Pi 4 pour profiter d'écran principal. 


Voir l'offre
55,99 €Caméra de sécurité connectée Blink Outdoor à 55,99 €
90 € -38%

Amazon fait une belle promotion sur sa caméra de sécurité connectée Blink Outdoor qui passe à 55,99 € livrée gratuitement au lieu de 90 € habituellement. Gardez l'esprit tranquille avec cette caméra polyvalente sans fil pour l'extérieur, dotée d'une autonomie de 2 ans (piles au lithium fournies), d’un système audio bidirectionnel, de la détection de mouvements personnalisable, de la vision nocturne infrarouge et de l’enregistrement en direct en Full HD 1080p dans le cloud (via un abonnement) ou en local (en branchant directement un périphérique de stockage USB sur la base de synchronisation fournie).

Cette caméra est accompagnée d'un module de synchronisation (avec votre réseau WiFi) et fonctionne directement. Notez que des lots de plusieurs caméras sont également en promotion : 2 caméras à 99,99 € (49,99 € par caméra), 3 caméras à 134,99 € (44,99 € / caméra) et 4 caméras (+ 1 sonnette connectée offerte) à 169,99 € (42,49 € / caméra).


Voir l'offre
-6 €6 € offerts pour toute recharge de son compte Amazon de 70 €

Amazon remet en avant son offre pour obtenir un bon d'achat de 6 € sur Amazon. Pour toute recharge de son compte Amazon d'au moins 70 €, Amazon vous offre un bon d'achat de 6 € utilisable jusqu'au 31 Octobre 2022. Vous pouvez utiliser le solde de votre compte Amazon pour tous vos achats.

Notez que cette offre n'est pas disponible si vous avez déjà rechargé votre compte Amazon dans les 36 derniers mois.


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