begin process at 2012 02 15 13:55:27
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Tutoriaux

 > GÉNÉRER UN ÉTAT SOUS WORD EN PHP

GÉNÉRER UN ÉTAT SOUS WORD EN PHP


 Information sur le tutoriel

Note :
Aucune note

 Description

Ce tuto vous montre une méthode simple et pratique de créer un document word contenant des données issues d'un traitement PHP.
Ce tutoriel suppose que vous avez des notions de base en PHP (Accès aux fichiers, Gestion des chaines de caractère).
Il est basé sur un modèle créé avec Microsoft Office 2003.


Tutorial

Générer un fichier Word en PHP. (Pour débutants en PHP)

Ce document exploite 2 fichiers

  • template.htm qui est le fichier modèle contenant votre lettre type
  • export.php qui est le fichier contenant les sources nécessaires à la création de votre fichier Word.

Etape 1 : Le fichier modèle

Le fichier modèle est une page que vous avez créé à l'aide de MS Word version antérieure à 2007.

Voici mon fichier template.htm

//////////////////////////////////

<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">
<title>$titrefacture</title>
<style>
 @font-face
 {font-family:Tahoma;
 panose-1:2 11 6 4 3 5 4 4 2 4;
 mso-font-charset:0;
 mso-generic-font-family:swiss;
 mso-font-pitch:variable;
 mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
 {mso-style-parent:"";
 margin:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 text-autospace:none;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-fareast-font-family:"Times New Roman";}
h1
 {mso-style-next:Normal;
 margin:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 page-break-after:avoid;
 mso-outline-level:1;
 tab-stops:center 248.1pt;
 text-autospace:none;
 font-size:10.0pt;
 font-family:Tahoma;
 mso-font-kerning:0pt;
 text-decoration:underline;
 text-underline:single;}
h2
 {mso-style-next:Normal;
 margin:0cm;
 margin-bottom:.0001pt;
 text-align:center;
 mso-pagination:widow-orphan;
 page-break-after:avoid;
 mso-outline-level:2;
 text-autospace:none;
 font-size:16.0pt;
 font-family:Tahoma;}
h3
 {mso-style-next:Normal;
 margin-top:6.0pt;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:0cm;
 margin-bottom:.0001pt;
 text-align:left;
 mso-pagination:widow-orphan;
 page-break-after:avoid;
 mso-outline-level:3;
 text-autospace:none;
 font-size:11.0pt;
 font-family:Tahoma;
 font-style:italic;}
p.MsoHeader, li.MsoHeader, div.MsoHeader
 {margin:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 tab-stops:center 8.0cm right 16.0cm;
 text-autospace:none;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-fareast-font-family:"Times New Roman";}
p.MsoFooter, li.MsoFooter, div.MsoFooter
 {margin:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 tab-stops:center 8.0cm right 16.0cm;
 text-autospace:none;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-fareast-font-family:"Times New Roman";}
 /* Page Definitions */
 @page Section1
 {size:595.3pt 841.9pt;
 margin:1.0cm 1.0cm 39.7pt 42.55pt;
 mso-header-margin:34.0pt;
 mso-footer-margin:39.7pt;
  mso-paper-source:0;}
div.Section1
 {page:Section1;}
 /* List Definitions */
 @list l0
 {mso-list-id:891423539;
 mso-list-type:simple;
 mso-list-template-ids:67895297;}
@list l0:level1
 {mso-level-number-format:bullet;
 mso-level-text:\F0B7;
 mso-level-tab-stop:18.0pt;
 mso-level-number-position:left;
 margin-left:18.0pt;
 text-indent:-18.0pt;
 font-family:Symbol;
 mso-bidi-font-family:Symbol;}
ol
 {margin-bottom:0cm;}
ul
 {margin-bottom:0cm;}
</style>
</head>

<body lang=FR style='tab-interval:35.4pt;text-justify-trim:punctuation'>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='margin-left:248.1pt'><span style='font-size:11.0pt'>$titre<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:248.1pt'><span style='font-size:11.0pt'>$nomclient<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:248.1pt'><span style='font-size:11.0pt'>$adresseclient<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:248.1pt'><b style='mso-bidi-font-weight:
normal'><u><span style='font-size:11.0pt'>$ville - $pays<o:p></o:p></span></u></b></p>

<p class=MsoNormal style='margin-left:248.1pt'><span style='font-size:11.0pt;
font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='margin-left:248.1pt'><span style='font-size:11.0pt;
font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<h2 style='margin-top:36.0pt'>Facture N° $numfacture du $datefacture</h2>

<p class=MsoNormal align=center style='text-align:center'><span
style='font-family:Tahoma'>Affaire&nbsp;$nomdossier<o:p></o:p></span></p>

<div style='mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;
mso-border-bottom-alt:solid windowtext .75pt;padding:0cm 0cm 1.0pt 0cm;
margin-left:99.25pt;margin-right:99.15pt'>

<p class=MsoNormal align=center style='text-align:center;border:none;
mso-border-bottom-alt:solid windowtext .75pt;padding:0cm;mso-padding-alt:0cm 0cm 1.0pt 0cm'><span
style='font-size:6.0pt;font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

</div>

<p class=MsoHeader style='tab-stops:35.4pt'><span style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<p class=MsoHeader style='tab-stops:35.4pt'><span style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<p class=MsoHeader style='tab-stops:35.4pt'><span style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
 style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
 mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh:
 .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
 <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
  <td width=461 valign=top style='width:345.6pt;border:solid windowtext 1.0pt;
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader style='tab-stops:35.4pt'><b><span lang=EN-GB
  style='font-family:Tahoma;mso-ansi-language:EN-GB'>DILIGENCES</span></b><span
  style='font-family:Tahoma'><o:p></o:p></span></p>
  </td>
  <td width=248 valign=top style='width:185.8pt;border:solid windowtext 1.0pt;
  border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
  solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>$dil<o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:1'>
  <td width=461 valign=top style='width:345.6pt;border:solid windowtext 1.0pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader style='tab-stops:35.4pt'><b><span lang=EN-GB
  style='font-family:Tahoma;mso-ansi-language:EN-GB'>SECRETARIAT</span></b><span
  style='font-family:Tahoma'><o:p></o:p></span></p>
  </td>
  <td width=248 valign=top style='width:185.8pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>$secret<o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:2'>
  <td width=461 valign=top style='width:345.6pt;border:solid windowtext 1.0pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader style='tab-stops:35.4pt'><b><span lang=EN-GB
  style='font-family:Tahoma;mso-ansi-language:EN-GB'>FRAIS</span></b><span
  style='font-family:Tahoma'><o:p></o:p></span></p>
  </td>
  <td width=248 valign=top style='width:185.8pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>$frais<o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:3'>
  <td width=461 valign=top style='width:345.6pt;border:solid windowtext 1.0pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader style='tab-stops:35.4pt'><b><span lang=EN-GB
  style='font-family:Tahoma;mso-ansi-language:EN-GB'>DEBOURS</span></b><span
  style='font-family:Tahoma'><o:p></o:p></span></p>
  </td>
  <td width=248 valign=top style='width:185.8pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>$deb<o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:4'>
  <td width=461 valign=top style='width:345.6pt;border:solid windowtext 1.0pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>Total HT<o:p></o:p></span></p>
  </td>
  <td width=248 valign=top style='width:185.8pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>$tht<o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:5'>
  <td width=461 valign=top style='width:345.6pt;border:solid windowtext 1.0pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>TVA<o:p></o:p></span></p>
  </td>
  <td width=248 valign=top style='width:185.8pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>$tva<o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'>
  <td width=461 valign=top style='width:345.6pt;border:solid windowtext 1.0pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><b><span
  style='font-size:12.0pt;font-family:Tahoma'>Total TTC</span></b></p>
  </td>
  <td width=248 valign=top style='width:185.8pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoHeader align=right style='text-align:right;tab-stops:35.4pt'><span
  style='font-family:Tahoma'>$ttc<o:p></o:p></span></p>
  </td>
 </tr>
</table>

<p class=MsoHeader style='tab-stops:35.4pt'><span style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<p class=MsoHeader style='tab-stops:35.4pt'><span style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='margin-right:-.1pt;tab-stops:right 11.0cm 411.1pt 18.0cm'><b><span
lang=EN-GB style='font-family:Tahoma;mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></b></p>

<h1><span style='font-weight:normal;mso-bidi-font-weight:bold;text-decoration:
none;text-underline:none'>Date d'échéance&nbsp;: $datech<o:p></o:p></span></h1>

<h1><span style='font-weight:normal;mso-bidi-font-weight:bold;text-decoration:
none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1><span style='font-weight:normal;mso-bidi-font-weight:bold;text-decoration:
none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1><span style='font-weight:normal;mso-bidi-font-weight:bold;text-decoration:
none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1><span style='font-weight:normal;mso-bidi-font-weight:bold;text-decoration:
none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1><span style='font-weight:normal;mso-bidi-font-weight:bold;text-decoration:
none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1 align=right style='text-align:right'><span style='font-weight:normal;
mso-bidi-font-weight:bold;text-decoration:none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1 align=right style='text-align:right'><span style='font-weight:normal;
mso-bidi-font-weight:bold;text-decoration:none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1 align=right style='text-align:right'><span style='font-weight:normal;
mso-bidi-font-weight:bold;text-decoration:none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1 align=right style='text-align:right'><span style='font-weight:normal;
mso-bidi-font-weight:bold;text-decoration:none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<h1 align=right style='text-align:right'><span style='font-weight:normal;
mso-bidi-font-weight:bold;text-decoration:none;text-underline:none'>Le service
Comptabilité<o:p></o:p></span></h1>

<h1 align=right style='text-align:right'><span style='font-weight:normal;
mso-bidi-font-weight:bold;text-decoration:none;text-underline:none'><o:p>&nbsp;</o:p></span></h1>

<b><u><span style='font-size:10.0pt;font-family:Tahoma;mso-fareast-font-family:
"Times New Roman";mso-ansi-language:FR;mso-fareast-language:FR;mso-bidi-language:
AR-SA'><br clear=all style='page-break-before:always'>
</span></u></b>

<h1 align=right style='text-align:right'><span style='font-size:12.0pt'>Détail
des prestations facturées - Affaire&nbsp;: $nomdossier<o:p></o:p></span></h1>

<p class=MsoHeader style='tab-stops:35.4pt'><span style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<p class=MsoHeader style='tab-stops:35.4pt'><span style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p>

<p class=MsoHeader style='tab-stops:35.4pt'><span style='font-family:Tahoma'>$tableaudetails<o:p></o:p></span></p>

</div>

</body>

</html>

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  1. Ouvrez donc MS Word, Tapez y votre lettre type. Et à chaque emplacement de données, tapez la $variable php correspondante.
  2. Enregistrez votre fichier au format htm (template.htm) à un emplacement facilement accessible à partir de votre application PHP.
  3. Ouvrez votre fichier modèle template.htm à l'aide de votre éditeur HTML afin de vérifier que vos variables php introduites à l'aide de MS Word n'ont pas été formatées texte lors de l'enregistrement.
  4. Une fois toutes vos variables en bonne forme et place au sein du code HTML de structuration du document, enregistrez et fermez le template.htm.
  5. Passez à l'étape 2.

Etape 2 : Les variables PHP

J'ai veillé à nommer toutes mes variables dans template.htm par le même nom que j'utiliserais dans export.php

Voici le fichier export.php

<?

//Je suppose que vous avez déjà les variables php renseignées. Que ce soit un renseignement statique ou de données provenant de la base de données. Nommez vos variables selon les noms contenus dans le fichier template.htm

// Je capture et mémorise le contenu du fichier template.htm

$content=file_get_contents('template.htm'); // Attention au chemin d'accès au fichier template. ici, il est dans le même répertoire que export.php sinon donnez le chemin correct.

//Maintenant, je remplace une à une les variables. Méthode fastidieuse mais "Cameroun est chaud, on va faire comment". Optimisera au fil de l'expérience

 $content=str_replace('$titrefacture',$titrefacture,$content);
 $content=str_replace('$titre',$titre,$content);
 $content=str_replace('$nomclient',$nomclient,$content);
 $content=str_replace('$adresseclient',$adresseclient,$content);
 $content=str_replace('$nomclient',$nomclient,$content);
 $content=str_replace('$ville',$ville,$content);
 $content=str_replace('$pays',$pays,$content);
 $content=str_replace('$datejour',$datejour,$content);
 $content=str_replace('$nomdossier',$nomdossier,$content);
 $content=str_replace('$numfacture',$numfacture,$content);
 $content=str_replace('$datefacture',$datefacture,$content);
 $content=str_replace('$dil',$dil,$content);
 $content=str_replace('$secret',$secr,$content);
 $content=str_replace('$frais',$frais,$content);
 $content=str_replace('$deb',$deb,$content);
 $content=str_replace('$tht',$tht,$content);
 $content=str_replace('$tva',$tva,$content);
 $content=str_replace('$ttc',$ttc,$content);
 $content=str_replace('$datech',$datech,$content);
 $content=str_replace('$tableaudetails',$tableaudetails,$content);

// La suite du fichier à l'étape 3

?>

Etape 3 : La génération et l'ouverture du fichier word

Cette étape consiste à créer le fichier physique sur le disque dûr et y acceder.

// Code à insérer dans l'étape 2 EN FIN DE CODE

 $filename="facture.doc";
 touch($filename);
 if (is_writable($filename)) {
  if (!$handle = fopen($filename, 'a')) {
   echo "Impossible d'ouvrir le fichier ($filename)";
   exit;
  }
  if (fwrite($handle, $content) === FALSE) {
   echo "Impossible d'écrire dans le fichier ($filename)";
   exit;
  }
  echo "<a href='$filename'>Télécharger le fichier</a>";
  fclose($handle);
 } else {
  echo "Le fichier $filename n'est pas accessible en écriture.";
 }

ET VOILA !!!!!

Vous avez un fichier word tout beau avec vos données fusionnées.

Vous avez un affichage de votre fichier en mode "WEB" ? Changez l'affichage en mode "PAGE" pour voir votre fichie word comme d'habitude.

 

Pour toute question ou recommendation, adressez moi un mail sigapherve at gmail point com et donnezmoi le temps de traverser toute la forêt qui me sépare de mon cyber café (env 48h).

Tutoriel proposé par Hervé SIGAP

Douala - Cameroun.

 Historique

13 mars 2008 17:46:17 :
nom de variable corrigé

Commentaires

Commentaire de malalam le 15/03/2008 07:23:56 administrateur CS

Hello,

j'adoooore le html de Microsoft...;-)

Non, bon, bonne idée ton tuto, merci. J'ajoute qu'on peut de cette manière générer très facilement un ficher excel aussi (pas un csv hein).

Gaffe aux bêtes sauvages en allant à ton cyber café...

Commentaire de malalam le 15/03/2008 07:25:05 administrateur CS

Oublié de noter (9).

Commentaire de mioume le 15/03/2008 21:41:44

bonjour
on nous demande de réaliser et integrer un module de génération d'état dans une solution logiciel.
ce module devra permetre à partir de models ( formulaire..) créer dans un environnement graphique (vord. infopath..)de generer des états (html, pdf..)
je ne sais pas comment commencer, je veux une explication sur cç ( c'est quoi exactement un générateur d'état, a quoi ça sert, Les problématiques qui y sont liées ?
Quelles sont les techniques utilisées ? les outils ou librairie PHP permettant de le faire ? (leurs portées, avantages et inconvénients)
merci.

Commentaire de skull21 le 15/09/2008 19:38:34

Bonsoir et encore un grand merci pour se code (ca aide bien un débutant ^^)
Tout fonctionne à merveille mis à part quand je change le contenu de mes variables sur ma base, apparement le .doc pris en compte reste le premier généré...
Donc je n'arrive pas à mettre à jour mon fichier word avec de nouvelles données et je suis obligé de l'effacer à la main a chaque modif.

Merci et si quelqu'un pouvait m'aider ...^^

Commentaire de skull21 le 15/09/2008 20:03:02

désolé, simplement en mettant
unlink ($filename);
bha on efface et on recommence

Commentaire de Pho3nixt le 29/01/2009 15:16:16

Merci pour le tuto ;)
@MIOUME (je sais, ça date^^) : un café aussi ?

Commentaire de griffondorr le 20/03/2009 00:10:47

bon tuto ;)

Commentaire de bodry24 le 29/09/2009 20:28:42

Bonjour
man c'est cool c'est tout ce dont j'ai besoin dans mon il m'est demandé convertir un formulaire php en document word et puis de l'envoyer par message

Commentaire de weblousky le 29/09/2009 21:53:41

Merci pour ce code.

Bien sympathique.
Je me le garde sous le coude.

Pour le problème suggéré plus haut, c'est à cause de cette ligne :
if (!$handle = fopen($filename, 'a'))

Je conseillerais un :
if (!$handle = fopen($filename, 'w'))

Le 'w' écrit en partant du début du fichier (et donc écrase l'ancienne version), alors que 'a' écrit à la suite dans le fichier.

Sinon, le mieux pour un état c'est encore d'avoir un nom de fichier dynamique.
Par exemple, dans le cas qui nous concerne :
$filename="facture".$numfacture.".doc";

Commentaire de Dark1947 le 28/12/2009 09:07:48

Bonjour, bon tuto merci ;)

Commentaire de simoflyer9 le 12/01/2010 23:23:27

merci bien pour le code, mais j'ai un probleme, comment je peu parcourir tout mes enregistrements, parsk ce code m'affiche que le premier ligne de ma table ,,
merci

Commentaire de jean02 le 06/04/2011 17:10:23

j'adore en + il m'a aidé sr un programme ke g voulais finir depuis

Commentaire de theseif le 30/07/2011 14:57:09

Bonjour à tous, comment faire pour transformer ces lignes:
echo "<a href='$filename'>Télécharger le fichier</a>";
  fclose($handle);
Faire ne sorte que la page ou s'affiche le lien se ferme, ou ne s'ouvre pas du tout.
Merci d'avance.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales