| auteur :berceker united | <?php
$arrFichier = array();
$i=0;
$directory='images/';
//Ouvre un dossier, et liste tous les fichiers
if (is_dir($directory)) {
if($dh = opendir($directory)) {
while (($file = readdir($dh)) !== false) {
$extension = pathinfo($directory.$file);
if($file!='..' && $file!='.' && strtolower($extension['extension'])=='jpg'){//N'affiche pas le . et ..
$arrFichier[$i] = $file; //PLace les fichier dans un tableau
$i++;
}
}
}
closedir($dh); //Il est conseillé de fermer la ressource lorsqu'on en a plus besoin
}
//Initalisation.
if($_GET['index']!=''){
$index = $_GET['index'];
}else{
$index = 0;
}
//Affichage des liens précédent et suivant.
if($index > 0){ //N'affiche pas le boutton au premier
echo '<input onClick="window.location=\''.$_SERVER['SCRIPT_NAME'].'?index='.($index-1).'\'" type="button" name="precedent" value="<<">';
}
echo '<img src="'.$directory.'/'.$arrFichier[$index].'">'; //Affichage de l'image
if($index < (count($arrFichier)-1)){ //N'affiche pas le boutton suivant lorsqu'il y a pas d'image apres
echo '<input onClick="window.location=\''.$_SERVER['SCRIPT_NAME'].'?index='.($index+1).'\'" type="button" name="suivant" value=">>">';
}
?> |
|
| auteur :berceker united |
Il faut créer un répertoire "tmpimg"
1 - Upload de tous les fichiers
2 - Contrôle les extensions.
3 - Construction de l'entête pour le mail.
4 - Envoi du mail
5 - Suppresion des fichiers.
PREMIER FICHIER | <? $nbFile = 3; ?>
<html>
<body>
<form action="mail.php" method="POST" enctype="multipart/form-data" name="formulaire">
<br><br>
<table style="border:1px solid #000000" align="center">
<tr>
<td colspan="2" class="en-tete">Envoyer vos informations concernant le produit</td>
</tr>
<tr>
<td colspan="2">
<textarea name="message"></textarea>
</td>
</tr>
<? for($i=0;$i<$nbFile;$i++){ ?>
<tr>
<td>Fichier image <? echo $i+1; ?> :</td>
<td><input type="file" name="fichier<? echo $i; ?>" value="">
</tr>
<? } ?>
<tr>
<td align="center" colspan="2"><input type="submit" name="action" value="Envoyer"></td>
</tr>
</table>
<input type="hidden" name="nbfile" value="<? echo $nbFile; ?>">
</form>
</body>
</html> |
FICHIER MAIL | //$filename : chemin du fichier.
function get_extension($filename){
$parts = explode('.',$filename);
$last = count($parts) - 1;
$ext = $parts[$last];
return $ext;
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){ //Détecte si c'est le post provient d'un POST.
$isConform = false;
$attachment = array();
$arrNameFile = array();
$arrSource = array();
$arrExtension = array();
$arrType = array();
$arrInfoManu = array();
$arrExtensionCTRL = array('jpg','jpeg','bmp','psd','png','gif','tif','tiff');
$boundary = "-----=".md5(uniqid(rand()));
$extensionTemp = '';
$file = '';
$attachment = '';
$destinataire = 'mail destinataire';
$from = 'votre mail';
$reponse = 'votre mail réponse';
$sujet = 'Votre sujet';
$repertoire = 'tmpimg'; //Répertoire ou ce trouverons les fichiers attachées.
$fp = null;
$type = 'text/plain';
$message = trim($_POST['message']);
if($_POST['action'] == 'Envoyer'){
for($i=0;$i<$_POST['nbfile'];$i++){ //Boucle sur le nombre de champs de type file
$extensionTemp = get_extension($_FILES['fichier'.$i]['name']);
if($_FILES['fichier'.$i]['name'] != ''){ //Détecte si il y a eu un fichier d'envoyé.
if(in_array(strtolower($extensionTemp), $arrExtensionCTRL)){ //Regarde si l'extension est valide.
$arrNameFile[$i] = $_FILES['fichier'.$i]['name']; //Nom du fichier
$arrSource[$i] = $_FILES['fichier'.$i]['tmp_name']; //Fichier temporaire :: contenu.
$isConform = true; //Il est donc conforme.
}else{
$isConform = false; //Il n'est pas conforme
}
}
}
}
//Redirection dans le cas ou il y a une extension non valide.
if($isConform == false){
header('Location:page_erreur.php?erreur=true');
exit();
}
//Boucle sur le nombre de fichier valide.
for($i=0;$i<count($arrNameFile);$i++){
copy($arrSource[$i], $repertoire.'/'.$arrNameFile[$i]); //Copie le fichier dans une zone précise du disque
$arrExtension[$i] = strtolower(get_extension($arrNameFile[$i])); //récupère l'extension
if($arrExtension[$i] == 'gif') $arrType[$i] = 'image/gif'; //gif
else if($arrExtension[$i] == 'bmp') $arrType[$i] = 'image/bmp'; //bmp
else if($arrExtension[$i] == 'png') $arrType[$i] = 'image/png'; //png
else if($arrExtension[$i] == 'psd') $arrType[$i] = 'image/psd'; //psd
else if($arrExtension[$i] == 'jpg' || $arrExtension[$i] == 'jpeg') $arrType[$i] = 'image/jpeg'; //jpg
else if($arrExtension[$i] == 'tif' || $arrExtension[$i] == 'tiff') $arrType[$i] = 'image/tiff'; //tif
}
//----------------------------------
//----------------------------------
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";
$msg = "Je vous informe que ceci est un message au format MIME 1.0.\r\n";
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .="===================VOTRE MESSAGE===================\r\n\r\n";
$msg .= $message;
$msg .= "\r\n";
for($i=0;$i<count($arrNameFile);$i++){
$file = $repertoire.'/'.$arrNameFile[$i];
$fp = fopen($file, 'rb');
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: ".$arrType[$i]."; \r";
$msg .= "name=\"".$arrNameFile[$i]."\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: inline;\r\n filename=\"".$arrNameFile[$i]."\"\r\n";
$msg .= $attachment . "\r\n";
$msg .= "\r\n";
$msg .= "\r\n\r\n";
unlink($file);
}
$msg .= "--$boundary--\r\n";
if(mail($destinataire, $sujet , $msg,"Reply-to: $reponse\r\nFrom: $from\r\n".$header)){
echo "OK";
}else{
echo "ERREUR";
}
}
?> |
|
Consultez les autres F.A.Q's
|
|