Insérer une image dans un xml via formulaire php/html

Tzmagnum Messages postés 132 Statut Membre -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

Je souhaite générer un fichier Word XML 2007 (.XML) avec PHP.
Rien de plus simple pour les valeurs textuelles: je créer ma mise en forme de document via Microsoft Word et j'insère dans les champs à remplir un texte comme @TXT@

Avec des fonctions PHP toutes simple j'arrive à remplacer tout les champs de texte comme je veux.
Mais là ou je bloque, c'est pour l'insertion d'image.

Je cherche à mettre une case cochée ou non dans le xml en utilisant un if en php par rapport à la réponse « oui » ou « non » dans mon formulaire.

Merci d’avance 

Configuration: iPhone / Safari 14.0.3

2 réponses

  1. Tzmagnum Messages postés 132 Statut Membre
     
    Personne n'aurait une solution svp ?

    Merci d'avance.

    Voici un code d'exemple de ce que j'essaye de faire, mais avec l'image cela ne fonctionne pas, elle n'apparait pas dans image.doc :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <?php
    error_reporting(E_ALL); 
    header('Content-type: text/html; charset=utf-8');
    
    $logo = '<img src="logo.jpg" alt="logo">';
    $civilite = "Monsieur";
    $nom = "Hauld";
    $prenom = "Kevin";
    $adresse = "Rue De la Voirie 35, boîte 0002";
    $cp = "1030";
    $ville = "Schaerbeek (Bruxelles)";
    
    // Je capture et mémorise le contenu du fichier template.doc
    
    $content = file_get_contents(dirname(__FILE__).'/template.doc'); // Attention au chemin d'accès au fichier template. ici, il est dans le même répertoire que index.php sinon donnez le chemin correct.
    
    $content = str_replace('##LOGO##', $logo, $content);
    $content = str_replace('##CIVILITE##', $civilite, $content);
    $content = str_replace('##NOM##', $nom, $content);
    $content = str_replace('##PRENOM##', $prenom, $content);
    $content = str_replace('##ADRESSE##', $adresse, $content);
    $content = str_replace('##CP##', $cp, $content);
    $content = str_replace('##VILLE##', $ville, $content);
    
    $filename = "image.doc";// Vérifie que l'on peut écrire dans le fichier if(!is_writable($filename)) exit();// Vérifie que l'on peut ouvrir le fichier
    if (!$handle = fopen($filename, 'a')) 
    exit("Impossible d'ouvrir le fichier ($filename)");
    
    // On ajoute le contenu de template.doc
    if (fwrite($handle, $content) === FALSE) 
    exit("Impossible d'écrire dans le fichier ($filename)");
    
    echo "<a href='$filename'>Télécharger le fichier</a>";
    fclose($handle);
    
    0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Pour manipuler un fichier word, il est conseillé d'utiliser la librairie : PHPword
    https://github.com/PHPOffice/PHPWord

    0