Ciao a tutti,
è argomento già molto trattato ma mi trovo ad affrontare un nuovo problema a cui non ho trovato risposta da nessuna parte.
Questo script è stato scritto per l'invio di curriculum esclusivamente in formato .doc, ho capito come inserire altri formati senza troppi problemi, visto che la maggior parte dei curriculum ora gira in pdf, ma il problema è che lo script in automatico rinomina i file inviati in curriculum.doc
A me questa funzione non interessa, ma proprio non riesco a capire come toglierla, mi va bene anche bene che rinomini il file ma almeno che lasci l'estensione giusta...
Anche il fatto di selezionare solo determinati formati di file è una funzione che eliminerei volentieri, ma quella è il meno, al limite aggiungo io i vari formati...
Grazie, vi scrivo tutto il codice qui sotto:
<html>
<head>
<title>Send mail with attach</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#D2D2D2" leftmargin="3" topmargin="3" marginwidth="0" marginheight="0" text="#000000">
<?
function validate_upload($thefile) {
global $thefile_type, $thefile_name, $thefile_size;
$my_max_file_size = "102400"; # in bytes
$registered_types = array(
"application/msword" => ".doc",
"application/octet-stream" => ".doc"
); # these are only a few examples, you can find many more!
$allowed_types = array("application/msword", "application/octet-stream");
$start_error = "\n";
if ($thefile == "none") { # do we even have a file?
$error .= "\n- Nessun documento allegato.
";
} else { # check if we are allowed to upload this file_type
if ($thefile_size>$my_max_file_size) $error .= "\n- Il file allegato supera la dimensione massima consentita.
";
if (!in_array($thefile_type, $allowed_types)) {
$error .= "\n- Il file che hai inserito non è del tipo richiesto:
\n";
while ($type = current($allowed_types)) {
$error .= "\n" . $registered_types[$type] . " (" . $type . ")
";
next($allowed_types);
}
$error .= "\n";
}
if ($error) {
$error = $start_error . $error . "\n";
return $error;
} else {
return false;
}
}
} # END validate_upload
?>
<font face="Arial, Helvetica, sans-serif" size="2">
<?
if ($op=="invio") {
$error=0;
$msg="";
if ($nome=="") {
$error=1;
$msg.="- Il campo nome è vuoto.
";
}
if ($cognome=="") {
$error=1;
$msg.="- Il campo cognome è vuoto.
";
}
if ($email=="") {
$error=1;
$msg.="- Il campo email è vuoto.
";
}
if ($email!="" && !eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) {
$error=1;
$msg.="- L'email inserita non è valida.
";
}
if ($commento=="") {
$error=1;
$msg.="- Il campo commento è vuoto.
";
}
$error_file="";
if (!$thefile || $thefile=="none" || $thefile=="") {
$error=1;
$msg.="- Non hai inserito il curriculum.
";
} else $error_file = validate_upload($thefile);
if ($error==1 || $error_file!="") {
echo"
Attenzione! Si sono verificati i seguenti errori:
$msg
$error_file
<a href=\"javascript:history.back()\">Clicca qui</a> per reinserire i dati.";
} else {
$emailto="la mia email"; // INERIRE L'EMAIL QUI!!
$data=date("j/m/Y");
$ora=date("h:i:s");
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"XX-1234DED00099A\"\n";
$headers .= "Content-Transfer-Encoding: 7bit\n";
$headers .= "From: $email\n";
$messaggio="--XX-1234DED00099A\n";
$messaggio.="Content-Type: text/plain; charset=iso-8859-1\n";
$messaggio.="Content-Transfer-Encoding: 7bit\n\r";
$messaggio.="Curriculum inviato il $data alle $ora\n\r\nDati inseriti\n";
$messaggio.="Nome: $nome\n\rCognome: $cognome\n";
if ($telefono!="") $messaggio.="Telefono: $telefono\n";
$messaggio.="Email: $email\nCommento:\n$commento\n";
$oggetto_send="Invio Curriculum";
$messaggio.="--XX-1234DED00099A\n";
$messaggio.="Content-Type: application/octet-stream; name=\"curriculum.doc\"\n";
$messaggio.="Content-Transfer-Encoding: base64\n";
$messaggio.="Content-Description: \"Curriculum\"\n";
$messaggio.="Content-Disposition: attachment\n\r";
$fp=@fopen($thefile, "r");
if ($fp) {
$data = fread($fp, filesize($thefile));
}
$curr = base64_encode($data);
$messaggio .= "$curr\n\r--XX-1234DED00099A--\n";
if (!mail($emailto, $oggetto_send, $messaggio, $headers)) {
echo"
Attenzione.
Si sono verificati degli errori durante l'invio della Email.
Vi preghiamo di riprovare <a href=\"javascript: history.back()\">cliccando qui.</a>
Se l'errore persiste Vi invitamo a riprovare più tardi. Grazie.";
}
else {
$messaggio_risposta="Grazie per averci contattato.\n\rIl vostro curriculum è stato inoltrato al responsabile del personale.\n\r\n\rDati inseriti\n";
$messaggio_risposta.="Nome: $nome\n\rCognome: $cognome\n\r";
if ($telefono!="") $messaggio_risposta.="Telefono: $telefono\n\r";
$messaggio_risposta.="Commento:\n\r$commento\n\r\n \r";
$messaggio_risposta.="Distinti saluti,\n\r";
$oggetto2="Curriculum inoltrato";
mail($email, $oggetto2, $messaggio_risposta,"From: Prova prova <$emailto>");
echo "
Email inviata correttamente.
I dati inseriti sono i seguenti:
";
echo"Nome: $nome
Cognome: $cognome
";
if ($telefono!="") echo"Telefono: $telefono
";
echo"Email: $email
Commento: ".nl2br($commento)."
Grazie per averci contattato.";
}
}
} else {
?>
Form per invio curriculum
<form enctype="multipart/form-data" method="post" action="<?=$PHP_SELF?>" name="contatti">
<table width="550" border="0" cellspacing="3" cellpadding="0">
<tr>
<td>Nome *</td>
<td>
<input type="text" name="nome" size="30">
</td>
</tr>
<tr>
<td>Cognome *</td>
<td>
<input type="text" name="cognome" size="30">
</td>
</tr>
<tr>
<td>Telefono</td>
<td>
<input type="text" name="telefono" size="30">
</td>
</tr>
<tr>
<td>Email *</td>
<td>
<input type="text" name="email" size="30">
</td>
</tr>
<tr>
<td>Allega il tuo curriculum
(formato .doc - Max 100 Kb) *</td>
<td>
<input type="hidden" name="MAX_FILE_SIZE" value="102400">
<input name="thefile" type="file" SIZE="35">
</td>
</tr>
<tr>
<td>Commento *</td>
<td>
<textarea name="commento" wrap="VIRTUAL" cols="30" rows="5"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="hidden" name="op" value="invio">
<input type="submit" name="Submit" value="Invia">
<input type="reset" name="Submit2" value="Reimposta">
</div>
</td>
</tr>
</table>
</form>
<font size="1">I campi con l'asterisco sono obbligatori.
<?
}
?>
</font>
</table>
</body>
</html>