By nie tworzyć nowego wątku, zapomniałem że miał być więcej niż jeden załącznik. Uwzględniając poprzednie wskazówki pętlę do załączników.
Stworzyłem pętle załączniki widzi i nie zgłasza problemu, jak kodu od walidacji nie ma, wysyła wiadomość ze załącznikami.
for ($i=0; $i < count($attachments) ; $i++) { $fileTmpName = $_FILES['uploaded-file']["tmp_name"][$i];
$filename = $_FILES['uploaded-file']["name"][$i];
$mail-> AddAttachment("uploads/". $filename);
}
Natomiast ten fragment
$message ="plik jest zbyt duży";
}
wywołuje ostrzeżenie
Cytat
Warning: filesize(): stat failed for oĹwiadczenie-o-przekazaniu-praw-majatkowych.pdf in /home/mork/public_html/vomo/mailer.php on line 55 Array ( [uploaded-file] => Array ( [name] => Array ( [0] => Klauzule informacyjne i okna zgody - wzĂłr.pdf [1] => oĹwiadczenie-o-przekazaniu-praw-majatkowych.pdf ) [type] => Array ( [0] => application/pdf [1] => application/pdf ) [tmp_name] => Array ( [0] => /tmp/www/mork/phpSW91R4 [1] => /tmp/www/mork/phpOAykxZ ) [error] => Array ( [0] => 0 [1] => 0 ) [size] => Array ( [0] => 148245 [1] => 56805 ) ) )
całość kodu
<?php
ini_set('display_startup_errors', '1');
$honeypot = $_POST['honey'];
$nameU = $_POST['name'];
$email = $_POST['email'];
$content = $_POST['message'];
$phoneU = $_POST['phone'];
//$fileUpload = $_POST['file'];
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'autoload.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// robot detection
$honeypot = trim($_POST["honey"]);
}
$mail = new PHPMailer; //From email address and name
$mail->From = $email ;
$mail->FromName = $nameU; //To address and name
$mail->addAddress("jaroslaw.mor@gmail.com");//Recipient name is optional
$mail->isHTML(true);
$mail->Subject = "Zapytanie ze strony www";
$mail->Body = "Telefon:$phoneU<br><br>Treść wiadomośći:<br>$content";
$mail->AltBody = "Telefon:$phoneU\n$content";
$maxsize = 2*1024*1024;
$attachments = $_FILES['uploaded-file']["name"];
$acceptedFormats = array("doc", " docx" , "pdf" , "txt" , "odt", "zip", "7z", "rar", "jpg", "jpeg"); $uploadedFile = $_FILES['uploaded-file']['tmp_name'];
for ($i=0; $i < count($attachments) ; $i++) { $fileTmpName = $_FILES['uploaded-file']["tmp_name"][$i];
$filename = $_FILES['uploaded-file']["name"][$i];
$mail-> AddAttachment("uploads/". $filename);
}
if (isset($attachments)) {
$message ="plik jest zbyt duży";
}
else if (!in_array(pathinfo($fileTmpName, PATHINFO_EXTENSION
), $acceptedFormats)) { $message ="nieprawidłowy format pliku";
} else {
$message = '';
}
}
if(!$mail->send())
{
echo "Mailer Error: " . $mail->ErrorInfo; }
else
{
//header("Location: sent.html");
}
}