j'ai édité un script qui va permettre à un utilisateur de charger un fichier. Si le fichier a été bien chargé, il reçoit un mail de notification.
Voici mon code
Code : Tout sélectionner
<?php
//session_start();
//require_once ("connectionMYSQL.inc.php");
$dateEnregistre = date('Y-m-d H:i:s');
if(isset($_POST['valider']))
{
//Script chargement du fichier zip et données formulaires
$PhotoMembre=$_FILES['fichier'];
if(!empty($PhotoMembre))
{
$extensionsP=array('.zip','.rar','');
$extensionP=strrchr($_FILES['fichier']['name'],'.');
if(!in_array($extensionP,$extensionsP))
{
echo '<script language="javascript"> alert ("Vous devez charger un fichier .zip ou .rar !");</script>';
echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="candidature.php?" </SCRIPT>';
exit;
echo'<br/>';
}
$taille= filesize($_FILES['fichier']['tmp_name']);
echo $taille;
//1Mo vaut 1048576 bytes
$taillemaxi=1048576;
if($taille>$taillemaxi)
{
echo '<script language="javascript"> alert ("Le dossier ne peut pas dépasser 1 MO, veuillez réduire la taille !");</script>';
echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="candidature.php?" </SCRIPT>';
exit;
}
}
//Vérification si un candidat est déjà enregistré
$requete=mysql_query("SELECT nom,prenom,cni FROM candidat WHERE nom='".$_POST['nom']."' and prenom='".$_POST['prenom']."' and cni='".$_POST['cni']."'");
if(mysql_num_rows($requete)>=1)
{
echo '<script type="text/javascript">alert("Ce candidat a déjà deposé son dossier");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">document.location.href="candidature.php"</SCRIPT>';
}
else
{
$reqInsert1="INSERT INTO candidat SET nom='".$_POST['nom']."', prenom='".$_POST['prenom']."'
,email='".$_POST['email']."',telephone='".$_POST['telephone']."',cni='".$_POST['cni']."',dateEnregistrement='".$dateEnregistre."'";
$resInsert1=mysql_query($reqInsert1) or die(mysql_error());
$IdM= mysql_insert_id();
if($extensionP!='')
{
$nomP ="C:\Program Files (x86)\EasyPHP-5.4alpha3\www\BCBRecrutement\File/".$_POST['nom']."_".$_POST['prenom']."_".$_POST['telephone'].strtolower($extensionP);
$chemin="File/".$_POST['nom']."_".$_POST['prenom']."_".$_POST['telephone'].strtolower($extensionP);
move_uploaded_file($_FILES['fichier']['tmp_name'],$nomP);
mysql_query("UPDATE candidat SET chemin='".$chemin."' WHERE idcandidat='".$IdM."'");
}
$filename=$nomP;
if (!file_exists($filename))
{
$supp="delete * from candidat where idcandidat='".$IdM."'";
$resSupp=mysql_query($supp) or die(mysql_error());
echo '<script type="text/javascript">alert("Echec de chargement du fichier, veuillez réessayer");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">document.location.href="candidature.php"</SCRIPT>';
}
else
{
//Envoie mail
require_once ("classes/class.phpmailer.php");
//include "classes/class.phpmailer.php";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug=1;
$mail->SMTPAuth = true;
$mail->Host = "smtp.gmail.com"; // "ssl://smtp.gmail.com" didn't worked
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
$mail->Username = "[email protected]";
$mail->Password = "***********";
$mail->IsHTML(true); // if you are going to send HTML formatted emails
$mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one.
$mail->SetFrom("[email protected]");
$mail->addAddress($_POST['email']);
$mail->Subject ="Accuse reception candidature";
$mail->Body ="Votre candidature a été reçu.\n
Merci d'avoir envoye votre candidature\n";
if(!$mail->Send())
echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
else
echo "Message has been sent";
echo '<script type="text/javascript">alert("Votre candidature est bien reçue");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">document.location.href="index.php"</SCRIPT>';
//}
}
}
}
?>
Pourriez-vous m'éclairer, pourquoi la fonction file_exists ne fonctionne pas correctement.
Merci.