Questa è la parte HTML
<div class="appointment-area">
<div class="container-fluid">
<div class="row">
<div class="col-md-12 col-lg-5 p-0">
<div class="contant-number">
</div>
</div>
<div class="col-md-12 col-lg-7 p-0">
<div class="appointment-form">
<h2 class="title">Richiesta cartella clinica</h2>
<form enctype="multipart/form-data" method="post" action="inviamail.php">
<div class="row">
<div class="col-md-6 col-lg-6 pr-10">
<div class="form-group">
<input type="text" class="form-control" name="nome" placeholder="Nome e Cognome" required>
</div>
</div>
<div class="col-md-6 col-lg-6 pl-10">
<div class="form-group">
<input type="text" class="form-control" name="email" placeholder="Email" required>
</div>
</div>
<div class="col-md-6 col-lg-6 pr-10">
<div class="form-group">
<input type="text" class="form-control" name="telefono" placeholder="Telefono di contatto" required>
</div>
</div>
<div class="col-md-6 col-lg-6 pl-10">
<div class="form-group">
<select class="form-control" name="Metodo di pagamento">
<option>Seleziona il metodo di pagamento desiderato</option>
<option>Bonifico</option>
<option>Pay Pal</option>
</select>
</div>
</div>
<div class="col-md-6 col-lg-6 pr-10">
<div class="form-group">
<input type="text" class="form-control" name="InizioDegenza" placeholder="Data Inizio Degenza" required>
</div>
</div>
<div class="col-md-6 col-lg-6 pr-10">
<div class="form-group">
<input type="text" class="form-control" name="FineDegenza" placeholder="Data Fine Degenza" required>
</div>
</div>
<div class="col-md-6 col-lg-12 pr-10"><h7>Si prega di indicare gli estremi del medesimo documento presentato in fase di ricovero</h7></div>
<div class="col-md-6 col-lg-6 pr-10">
<div class="form-group">
<input type="text" class="form-control" name="TipoDocumento" placeholder="Tipologia Documento" required>
</div>
</div>
<div class="col-md-6 col-lg-6 pr-10">
<div class="form-group">
<input type="text" class="form-control" name="NumeroDocumento" placeholder="Numero del Documento" required>
</div>
</div>
<div class="col-md-6 col-lg-6 pr-10">
<div class="form-group">
<input type="file" name="allegato" required>
</div>
</div>
</div>
<div>Dichiaro di aver letto ed accettato la <a href="../Privacy.html">Privacy Policy</a> e presto il consenso al trattamento dei miei dati personali <input type="checkbox" name="Dichiaro di aver letto ed accettato la Privacy Policy e presto il consenso al trattamento dei miei dati personali" placeholder="" required=""></div>
<button type="submit" class="btn book-now-btn">Richiedi ora</button>
</form>
</div>
</div>
</div>
</div>
</div>
Mentre il php è questo
<?php
$email=$_POST['email'];
#######################################
# IMPOSTAZIONI DA CONFIGURARE #
#######################################
//(1) indirizzo email del destinatario del modulo
$destinatario = "info@lofficinadelweb2017.it";
//(2) indirizzo email del mittente, campo FROM
// non toccare se desiderate che l'indirizzo email inserito nel modulo sia
// riportato nel campo DA del messaggio che sarà ricevuto.
// Se invece desiderate un campo fisso annullare la prima riga e abilitare
// la seconda inserendo la dicitura desiderata (per annullare mettere //
// all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
$nome_mittente = "$email";
// $nome_mittente = "Dal Modulo";
//(3) oggetto del messaggio
$oggetto_email = "Richiesta cartella clinica online";
//(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
// (valori possibili: "y" e "n")
$all_free = "n";
//(5) se avete messo "n" al punto (4) inserire tra virgolette, separati
// da virgola, i nomi dei campi da rendere OBBLIGATORI
// Esempio: $campi_req = array("nome","telefono","via");
$campi_req = array("nome","email");
//(6) controllo validità del campo email. (valori possibili: "y" e "n")
$obbligo_email = "y";
//(7) obbligare l'utente ad accettare le condizioni.
// (valori possibili: "y" e "n")
$accetta_condizioni = "n";
//(8) URL della pagina di ringraziamento
$pagina_grazie = "https://www.cdcsantafamiglia.it/Prenotazioni/Risposta.html";
//(9) URL della pagina errore campi vuoti
$pagina_error_empty = "http://www.tuo_sito.tld/errore_campi_vuoti.htm";
//(10) URL della pagina errore email
$pagina_error_email = "http://www.tuo_sito.tld/errore_email.htm";
//(11) URL della pagina errore condizioni non accettate
$pagina_error_condizioni = "http://www.tuo_sito.tld/errore_condizioni.htm";
//(12) URL della pagina errore invio non autorizzato (mancanza di referer)
$pagina_error_referer = "http://www.tuo_sito.tld/errore_referer.htm";
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
if (is_uploaded_file($allegato))
{
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
$data = chunk_split(base64_encode($data));
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";
$msg .= "This is a multi-part message in MIME format.\n\n";
$msg .= "--{$mime_boundary}\n";
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $mail_body . "\n\n";
$msg .= "--{$mime_boundary}\n";
$msg .= "Content-Disposition: attachment; filename=\"{$allegato_name}\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data . "\n\n";
$msg .= "--{$mime_boundary}--\n";
}
else
{
$msg = $mail_body;
}
#######################################
# FINE IMPOSTAZIONI DA CONFIGURARE #
#######################################
//ora e data
$ora = date ("H:i:s");
$data = date ("d/m/Y");
//intestazione email che arriva al destinatario
$corpo = "
Modulo inviato il $data alle ore $ora
Riepilogo dati:\n\n";
//============== NON TOCCARE NULLA OLTRE QUESTA RIGA ==================\
########### CODICI ###########
//variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
$_POST = &$HTTP_POST_VARS;
}
//prende IP ADDRESS
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
if ($_SERVER["HTTP_X_FORWARDED_FOR"] == "") {
$ipnumb = getenv("REMOTE_ADDR");
}else {
$ipnumb = getenv("HTTP_X_FORWARDED_FOR");
}
} else {
$ipnumb = getenv("REMOTE_ADDR");
}
###################################
//controllo referer
if(empty($_SERVER["HTTP_REFERER"])){
header ("Location: $pagina_error_referer");
exit();
}
########### CONTROLLO DEI CAMPI ###########
$control_campi = 0;
if($all_free != "y"){
foreach($_POST as $key => $valore){
if(in_array($key,$campi_req)){
if(trim($valore) == ""){
$control_campi++;
}
}
}
} else {
$control_campi = 0;
}
########### CONTROLLO EMAIL ###########
$control_email = 0;
if($obbligo_email == "y"){
if(isset($_POST['email'])){
if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$", $_POST['email'])){
$control_email++;
}
} else {
$control_email = 0;
}
}
########### INVIO EMAIL ###########
if($control_campi == 0){
if($control_email == 0){
if($control_condizioni == 0){
foreach($_POST as $key => $valore){
$key = ucfirst(stripslashes(trim($key)));
$valore = stripslashes(trim($valore));
$key = str_replace("_"," ",$key);
if(trim($valore) == "") $valore = "Non compilato";
$corpo .= $key .": ". $valore ."\n\n";
}
$corpo .= "Numero IP: $ipnumb"."\n";
$corpo .= "____________________________________________________________ \n\n
";
// invio e-mail
// Header Mail
$headmail.="From: $nome_mittente <$nome_mittente>\n";
$headmail.="Return-Path: $nome_mittente\n";
$headmail.="User-Agent: Php Mail Function\n";
$headmail.="X-Accept-Language: en-us, en\n";
$headmail.="MIME-Version: 1.0\n";
$headmail.="X-Priority: 1 (Highest)\n";
$headmail.="Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n";
$headmail.="Content-Transfer-Encoding: 7bit\n";
ini_set('sendmail_from', "$destinatario", $nome_mittente);
mail($destinatario, $oggetto_email, $corpo, $headmail);
ini_set('sendmail_from', "$destinatario");
mail("$nome_mittente", "Richiesta documentazione per invio cartella clinica", "Grazie per aver utilizzato il sistema automatico di richiesta copia conforme cartelle cliniche. \nLe ricordiamo che la Sua richiesta sarà evasa entro 7 gg lavorativi dalla chiusura della cartella clinica, vale a dire da quando sarà completa di tutti gli esami istologici. \nLe chiediamo di rispondere a questa mail inviandoci la ricevuta del pagamento effettuato ed una copia del documento di identità; dal medesimo indirizzo mail riceverà un link della copia conforme.\n \n Cordiali saluti\n La Casa di Cura Santa Famiglia\n Via dei Gracchi 134 - 136\n 00192 ROMA ");
header ("Location: $pagina_grazie");
} else {
header ("Location: $pagina_error_condizioni");
}
} else {
header ("Location: $pagina_error_email");
}
} else {
header ("Location: $pagina_error_empty");
}
?>
Il form arriva regolarmente via email, ma senza l'allegato
Dove sbaglio?