IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP / Word publipostage


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut PHP / Word publipostage
    Bonjour,
    Je développe une appli en php et j'ai besoin de faire du publipostage grâce a des courrier type.
    J'ai trouvé un code php (qui fonctionne) le permettant et qui me convient parfaitement, mais je ne le comprend pas entièrement et il y a surtout un partie que je ne comprend pas.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?php
     
    	$Nom = "Dupont";
    	$Prenom = "François";
    	$Adresse = "12 blablabla";
    	$Ville = "PARIS";
    	$Cp = "75800";
     
    	// Lettre
    	$f=fopen("./word/toto.rtf","r");
    	$R=fopen("./word/toto.doc","w");
     
    	while (!feof($f))
    	{
    		$ligne=fgets($f,20000);
    		$Long=strlen($ligne);
    		$Nouvligne="";
    		for ($i=$inc;$i<$Long;$i++)
    		{
    			if (substr($ligne,$i,4)=="\{\{")
    			{
    				$deb=$i;
    				$var="";
    				for ($j=$i+4;$j<$Long;$j++)
    				{
    					if (substr($ligne,$j,4)=="\}\}")
    					{
    						$fin=$j;
    						break;
    					}
    				}
    				$var=substr($ligne,$deb+4,$fin-$deb-4);
    				if ($var=="NOM") $Nouvligne.=$Nom;
    				else if ($var=="PRENOM") $Nouvligne.=$Prenom;
    				else if ($var=="ADRESSE") $Nouvligne.=$Adresse;
    				else if ($var=="CP") $Nouvligne.=$Cp;
    				else if ($var=="VILLE") $Nouvligne.=$Ville;
    				else $Nouvligne.="???????";
    				$i=$j+3;
    			}
    			else
    			{
    				$Nouvligne.=substr($ligne,$i,1);
    			}
    		}
    		fwrite($R,$Nouvligne);
    	}
    	fclose($f);
    	fclose($R);
     
    ?>
    La grosse partie que je ne comprend pas c'est la variable $inc, elle est déclaré nul part et je ne sais pas a quoi elle correspond.
    Sinon d'après ce que j'ai compris, le code permet de lire caractère par caractère le contenu du fichier .rtf et de détecter ce qu'il y a entre {{ }} ?

    Merci

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    mouais.

    On peut pas vraiment répondre à la question avec uniquement ça. Si c'est un vieux code, peut-être que register Global était activé et que c'était une valeur passée par REQUEST.

    Sinon une variable non initialisée vaut 0.

    Juste une remarque, si je ne me trompe pas, c'est pas un vrai fichier doc qui est généré mais un fichier texte maquillé en .doc par le truchement d'un changement d'extension;

    [troll]Sa marchera sous window mais pas sur les systèmes d'exploitation sérieux (Mac, linux...)[/troll]

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    J'ai bien préciser qu'il fonctionne, donc ça veut dire que je l'ai tester (copie du code et tester avec mes fichiers).
    Et après l'avoir testé donc, je peux te dire qu'il génère bien un fichier .doc, que je peux ouvrir avec Word et je retrouve la mise en page, la police, ... de mon fichier d'origine en .rtf.

    On peut pas vraiment répondre à la question avec uniquement ça.
    Je n'ai que ça, et cela fonctionne uniquement avec ca.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Dévelop. app. MySQL - MS Word (publipostage)
    Par p0Kep0K dans le forum Windows
    Réponses: 7
    Dernier message: 26/12/2013, 14h24
  2. [ACCESS et WORD] publipostage et opérations
    Par Jahprend dans le forum Word
    Réponses: 1
    Dernier message: 30/06/2006, 15h03
  3. Mysql et word -> publipostage
    Par EJ dans le forum Installation
    Réponses: 8
    Dernier message: 13/04/2006, 11h36
  4. PHP/WORD ActiveXObject
    Par seb92 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/12/2005, 10h18
  5. Pilotage de Word - Publipostage via BDD Firebird
    Par nonoxp dans le forum Bases de données
    Réponses: 1
    Dernier message: 06/04/2005, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo