Formulaire php vers xml

hkahil Messages postés 243 Statut Membre -  
hkahil Messages postés 243 Statut Membre -
Bonjour,

je souhaiterais réaliser un mini formulaire texte +images que je souhaiterais insérer dans un fixier xml, quelqu'un pourrais me donner un exemple

je ne trouves pas d'exemple concret sur google
merci

4 réponses

  1. hkahil Messages postés 243 Statut Membre 7
     
    je cherche un exemple , je trouves pas
    0
  2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Le formulaire avec le script PHP :
    <?php
    if(!empty($_POST)) {
    	$texte = trim($_POST['texte']);
    	$image = $_FILES['image'];
    	
    	if(empty($texte)) {
    		echo 'Vous n\'avez pas spécifié de texte !';
    	} else {
    		if($image['error'] == 0) {
    			if(preg_match('#^image/#i',$image['type'])) {
    				$extension = pathinfo($image['name']);
    				$extension = $extension['extension'];
    				$nom = uniqid().'.'.$extension;
    				move_uploaded_file($image['tmp_name'], 'images/'.$nom);
    				
    				$dom = new DOMDocument('1.0','utf-8');
    				$dom->load('images.xml');
    				$root = $dom->getElementsByTagName('images')->item(0);
    				
    				$imageNode = $dom->createElement('image');
    				$texteNode = $dom->createElement('texte', $texte);
    				$nomNode = $dom->createElement('nom', $nom);
    				$imageNode->appendChild($texteNode);
    				$imageNode->appendChild($nomNode);
    				
    				$root->appendChild($imageNode);
    				$dom->save('images.xml');
    			} else {
    				echo 'Le fichier envoyé n\'est pas une image !';
    			}
    		} else {
    			echo 'Erreur lors de l\'envoie.';
    		}
    	}
    }
    ?>
    <form method="post" action="" enctype="multipart/data-form">
    	<p>
    		<label for="texte">Texte :</label>
    		<input type="text" name="texte" id="texte" />
    	</p>
    	<p>
    		<label for="image">Image :</label>
    		<input type="file" name="image" id="image" />
    	</p>
    	<p>
    		<input type="submit" value="Ajouter" />
    	</p>
    </form>
    Et place ceci dans le fichier « images.xml » :
    <?xml version="1.0" encoding="utf-8"?>
    <images></images>
    N'oublie pas de modifier le chmod.
    0
    1. hkahil Messages postés 243 Statut Membre 7
       
      j'ai tester ton exemple voila ce que j'ai comme message:

      Notice: Undefined index: image in C:\wamp\www\testexml\teste.php on line 4
      Le fichier envoyé n'est pas une image !

      peut tu m'éclairer stp merci
      0
    2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      As-tu modifié le nom du champ du fichier ?
      0
    3. hkahil Messages postés 243 Statut Membre 7
       
      le nom du fichier?
      jai mis le code php dans un fichier teste.php et le code xml dans un fichier images.xml
      0
    4. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Alors ton serveur ne supporte par l'upload de fichiers, ou le poid de ton image dépasse la limite des fichiers envoyés.
      0
    5. hkahil Messages postés 243 Statut Membre 7
       
      salut
      j'ai tester avec plusieurs type d'images différentes , plusieurs tailles
      rien n'y fais toujours la meme erreur
      tu peux me trouver une solution alternative stp pour sauvegarder texte+image

      xml me parait trop compliquer pas d 'autres moyens?a part sql bdd et xml?
      0
  3. hkahil Messages postés 243 Statut Membre 7
     
    salut f16 merci pour ton exemple ; je vais l'exploiter par contre
    mon but est de l'utiliser dans cet exemple pour pouvoir ajouter des noms de villes en plus et associer une image a chaque nom
    cest possible avec ton exemple? je créer un formulaire pour ajouter un nom et quand je l'enregistre il vas dans le xml et s'affiche a la suite du noms des villes sur le coté droit ?

    possible.?
    0