Formulaire php et insertion automatique dans un document rtf (word)

Contenu du snippet

Voici le code que j'ai réussi a écire après de long moment de réflexion et d'une utilisation intensive des forums et de l'aide de chacun.

Ce code permet donc de générer un document rtf depuis un formulaire PHP.
Au début je voulais utiliser un .DOC mais trop complexe à mettre en place.
le .RTF reste la même chose pour l'utilisateur d'un point de vue mise en page.

Dans le code suivant on récupère nos variables PHP, on ouvre un document de base qui nous sert de base pour créer tous les documents, on créer un nouveau document, on insère chaque ligne du document de base en remplacant les balises par nos valeur PHP dans le nouveau document créé.

Voici le code sur clique d'un boutton classique:

Source / Exemple :


<?php
if(isset($_POST['nom_du_bouton'])) 
{
$nom_fic = $_POST['Nom_de_mon_fichier'];
$var1= $_POST['var1'];	
$var2= $_POST['var2'];

$fp=fopen("reminder.rtf","r"); /*ouvre le document de base en lecture*/
$new=fopen("doc/".$nom_fic.".rtf","w+"); /* Créer le nouveau document dans le répertoire doc.*/
	
	while(!feof($fp)) { /*Tant que je ne suis pas a la fin de mon fichier je lis ligne par ligne.*/	
	
		$Ligne = fgets($fp,255); /* On récupère ligne par ligne les données.*/
		$Ligne = preg_replace("#ma_balise_1#", $var1, $Ligne);
		$Ligne = preg_replace("#ma_balise_2#", $var2, $Ligne);
		fputs($new,$Ligne); /* Apres avoir remplacé les balises par les valeur je les écris dans le novueau document*/

	}

	fclose($fp);/*Fermeture du fichier de base*/
	fclose($new);/*Fermeture du nouveau fichier*/

?>

Conclusion :


Il vous faut donc un document de base qui vous servira pour créer tous vos documents RTF.
dans se document vous pouvez mettre des balise ma_balise_1, ma_balise_2, etc...
Ici: reminder.rtf

Si vous avez un document Word il vous suffit d'enregistrer se document au format RTF et c'est pareil.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.