123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- /**
- * PHPMailer multiple files upload and send example
- */
- $msg = '';
- if (array_key_exists('userfile', $_FILES)) {
- // Create a message
- // This should be somewhere in your include_path
- require '../PHPMailerAutoload.php';
- $mail = new PHPMailer;
- $mail->setFrom('from@example.com', 'First Last');
- $mail->addAddress('whoto@example.com', 'John Doe');
- $mail->Subject = 'PHPMailer file sender';
- $mail->msgHTML('My message body');
- //Attach multiple files one by one
- for ($ct = 0; $ct < count($_FILES['userfile']['tmp_name']); $ct++) {
- $uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name'][$ct]));
- $filename = $_FILES['userfile']['name'][$ct];
- if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
- $mail->addAttachment($uploadfile, $filename);
- } else {
- $msg .= 'Failed to move file to ' . $uploadfile;
- }
- }
- if (!$mail->send()) {
- $msg .= "Mailer Error: " . $mail->ErrorInfo;
- } else {
- $msg .= "Message sent!";
- }
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>PHPMailer Upload</title>
- </head>
- <body>
- <?php if (empty($msg)) { ?>
- <form method="post" enctype="multipart/form-data">
- <input type="hidden" name="MAX_FILE_SIZE" value="100000">
- Select one or more files:
- <input name="userfile[]" type="file" multiple="multiple">
- <input type="submit" value="Send Files">
- </form>
- <?php } else {
- echo $msg;
- } ?>
- </body>
- </html>
|