Astuces Développeur Multimédia

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 6 septembre 2007

Utiliser un template mail pour l'envoi de mail

Création d'un template mail

Le but est de séparer le contenu dynamique d'un mail et sa mise en forme.
En parsant le fichier template en PHP, ces valeurs sont remplacées lors de l'envoi

Contenu du fichier PHP

<?php
$nom = 			'Solart';
$url_site = 		'http://lesolart.info/';
$chemin_template = 	'e_mail_ami.tpl.html';
$courriel = 		'destinataire@mail.com';
$expediteur = 		'expediteur@mail.com';
 
$headers = "From: $expediteur\n";
$headers .= "X-Sender: $expediteur\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=utf-8\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
 
$objet = "Démonstration de création d'un template mail"; //objet du mail
 
// creation du contenu du mail
$fich = fopen($chemin_template, 'r') or die("le fichier ne peut etre ouvert");
while ($message = fread($fich, 4096)){
	$message = str_replace("{nom}",$nom,$message);
	$message = str_replace("{url_image}",$url_site,$message);
}
fclose($fich);
 
// Envoi du mail
mail($courriel, $objet, $message, $headers);
?>

Contenu du fichier HTML (e_mail_ami.tpl.html)

Bonjour {nom}
Regarde l'image sur {url_image}/image

mercredi 5 septembre 2007

Téléchargement automatique de fichier

Téléchargement automatique de fichier

<?php
$Fichier_a_telecharger = 'NOM_FICHIER';
$chemin = '/';
$str = substr(strrchr($Fichier_a_telecharger, "/"),1);
$tailleFichier = filesize($Fichier_a_telecharger);
 
// on essaie de reconnaitre l'extension pour que le téléchargement corresponde au type de fichier afin d'éviter les erreurs de corruptions
switch(strrchr(basename($str), ".")) {
	case ".gz": $type = "application/x-gzip"; break;
	case ".tgz": $type = "application/x-gzip"; break;
	case ".zip": $type = "application/zip"; break;
	case ".rar": $type = "application/rar"; break;
	case ".pdf": $type = "application/pdf"; break;
	case ".png": $type = "image/png"; break;
	case ".gif": $type = "image/gif"; break;
	case ".jpeg": $type = "image/jpeg"; break;
	case ".jpg": $type = "image/jpg"; break;
	case ".txt": $type = "text/plain"; break;
	case ".htm": $type = "text/html"; break;
	case ".html": $type = "text/html"; break;
	default: $type = "application/octet-stream"; break;
}
 
header("Content-disposition: attachment; filename=$str");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
header("Content-Length: ".$tailleFichier);
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
 
readfile($Fichier_a_telecharger);
?>

foreach() - recupération de variables

foreach() - Créer des variables à partir d'un tableau (dans l'exemple j'utilise $_GET[])

<?php
$be_var = $_GET;
 
foreach ( $be_var as $key => $value ) {
	$$key = $value;
	//$be_var = $be_var."&".$key."=".$value;
}
?>