Ciao a tutti,
Vorrei chiedervi aiuto nel creare un controllo dell'estensione in uno script per allegare file pdf tramite un form html...
Vorrei anche valutare la possibilità di limitare la grandezza dell'allegato.
Ho già creato uno script javascript che mi esegue dei controlli sull'inserimento di un campo mail e della presenza dell'allegato.
Mentre questo script l'ho già copiato e modificato a mio piacere da un articolo di Massimiliano Bossi
Se serve altro, fornisco dettagli, grazie
Vorrei chiedervi aiuto nel creare un controllo dell'estensione in uno script per allegare file pdf tramite un form html...
Vorrei anche valutare la possibilità di limitare la grandezza dell'allegato.
Ho già creato uno script javascript che mi esegue dei controlli sull'inserimento di un campo mail e della presenza dell'allegato.
Mentre questo script l'ho già copiato e modificato a mio piacere da un articolo di Massimiliano Bossi
Se serve altro, fornisco dettagli, grazie
PHP:
<?php
// Recupero il valore dei campi del form
$destinatario = '[email protected]';
$mittente = $_POST['mittente'];
$oggetto = "Mail Automatica inviata dal form" ;
$messaggio = "In allegato";
// Valorizzo le variabili relative all'allegato
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
// Creo altre due variabili ad uso interno
$headers = "From: " . $mittente;
$msg = "";
// Verifico se il file è stato caricato correttamente via HTTP
// In caso affermativo proseguo nel lavoro...
if (is_uploaded_file($allegato))
{
// Apro e leggo il file allegato
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
// Adatto il file al formato MIME base64 usando base64_encode
$data = chunk_split(base64_encode($data));
// Genero il "separatore"
// Serve per dividere, appunto, le varie parti del messaggio.
// Nel nostro caso separerà la parte testuale dall'allegato
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Aggiungo le intestazioni necessarie per l'allegato
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";
// Definisco il tipo di messaggio (MIME/multi-part)
$msg .= "This is a multi-part message in MIME format.\n\n";
// Metto il separatore
$msg .= "--{$mime_boundary}\n";
// Questa è la parte "testuale" del messaggio
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $messaggio . "\n\n";
// Metto il separatore
$msg .= "--{$mime_boundary}\n";
// Aggiungo l'allegato al messaggio
$msg .= "Content-Disposition: attachment; filename=\"{$allegato_name}\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data . "\n\n";
// chiudo con il separatore
$msg .= "--{$mime_boundary}--\n";
}
// Invio la mail
if (mail($destinatario, $oggetto, $msg, $headers))
{
header("xxxx"); //Riapro la pag. iniziale
}else{
echo "<p>Errore!</p>";
}
?>