Salve a tutti....Dopo essermi rivoltato il cervello sono riuscito a trovare un compromesso per il funzionamento di un form che avevo creato in html al quale poi ho associato questo codice php per l'invio...tutto sarebbe se non fosse per il fatto che non arriva l'allegato e credo di immaginare che debba modificare il codice inserendo che tipo di file vorrei inviare nel form...a me interesserebbero i file .zip non so se in questo codice si possa impostare pure la dimensione massima di 150kb (giusto per dare un limite)....cosa e dove dovrei modificare il codice per fare che tutto vada a buon fine?
I fatti sono questi.... se invio senza allegato il messaggio arriva senza problemi mentre se metto l'allegato il file arriva ma in ritardo e senza allegato ovviamente in piu' se l'invio me lo da corretto mi esce il messaggio che e' andato a buon fine mentre provando ad allegare qualcosa mi da questo errore:
Warning: move_uploaded_file(attachments/) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\Inetpub\webs\miositocom\invia.php on line 11
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\upload\php2D81.tmp' to 'attachments/' in D:\Inetpub\webs\miositocom\invia.php on line 11
Email inoltrata correttamente
Cosa dovrei fare?
PS= una cosa importante che mi preme moltissimo e' sapere se possibile, come, una volta premuto il tasto invio del form mi rimanga il messaggio di corretto invio o di errore nella stessa pagina dove si trova il form anziche' passare ad un'altra pagina come fa ora...Questo perche' mi diventa scomodo essendo il form integrato in una pagina chiamata contatti dove appunto nella stessa pagina oltre al form ci sono altre informazioni per cui vorrei che rimanesse ferma com'e' e che mi escano eventuali messaggi sia di errori che no nella stessa pagina...Spero di essermi spiegato in modo comprensibile....
Grazie per l'eventuale aiuto....
codice:
<?php
//Percorso dove raccoglieremo gli allegati
$path = "attachments/";
//Nome e Cognome
$name = $_POST['name'];
$surname = $_POST['surname'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$message = $_POST['message'];
//Upload dell'allegato
move_uploaded_file($_FILES['attachment']['tmp_name'], $path.$_FILES['attachment']['name']);
//Messaggio
$subject = "Questa Email contiene un allegato";
$bodymail = "Name: ".$name."
Surname: ".$surname."
Phone: ".$phone."
Email: ".$email."
Message:
".$message."
";
//Inclusione della libreria
require_once("phpmailer/class.phpmailer.php");
//Creiamo un oggetto PHPMailer e ne settiamo le variabili
$mail = new PHPMailer();
$mail->From = $email;
$mail->FromName = $name." ".$surname;
$mail->AddAddress("mia@mail.it");
$mail->IsHTML(true);
$mail->Subject = $subject;
$mail->Body = $bodymail;
if($mail->AddAttachment($path.$_FILES['attachment']['name'])){
//Inviamo l'email
if($mail->Send()){
echo "Email inoltrata correttamente";
}else{
echo "Errore invio mail";
}
}else{
echo "Errore allegato";
}
?>