#php #html
#php #HTML
Вопрос:
<?php
require_once 'swift-mailer/lib/swift_required.php';
if (isset($_POST['submit'])) {
//File upload
// Where the file is going to be placed
$target_path = "uploads/";
// Add the original filename to our target path.
//Result is "uploads/filename.extension"
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);
if (is_uploaded_file($_FILES['uploadedfile']['tmp_name'])) {
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename($_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
}
//End of file upload
//Create the Transport
$transport = Swift_MailTransport::newInstance();
//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
//Create the message
$message = Swift_Message::newInstance();
//Give the message a subject
$message->setSubject('New data submitted');
$ip=$_SERVER['REMOTE_ADDR'];
$date=date("l, F j, Y, g:i a");
//Give it a body
$message->setBody("Here is the information submitted to
your site
from $ip on $date.nn
--------------------------------nn
name: User nn
email address: user@hotmail.com nn
subject: Test nn
comment: Test comment");
//Add alternative parts with addPart()
//$message->addPart('My amazing body in plain text', 'text/plain');
//Create the attachment
// * Note that you can technically leave the content-type parameter out
$attachment = Swift_Attachment::fromPath($target_path);
//Attach it to the message
$message->attach($attachment);
//Using setTo() to set all recipients in one go
$message->setTo(array('me@gmail.com' => 'VB'));
//Set a From: address including a name
$message->setFrom(array('me@gmail.com' => 'Contact Us'));
//Send the message
$numSent = $mailer->send($message);
//printf("Sent %d messagesn", $numSent);
if(isset($_FILES['uploadedfile'])){
$pathfile = "/home/me/mysite/uploads/" . $_FILES['uploadedfile']['name'];
@unlink($pathfile);
}
$to = "$email";
$subject = "Thank You!";
$body = "Thank you for e-mailing us. We will reply as soon as possible.";
// fix for thank you email address
$headers = "From: vlevsha@gmail.comrn" .
"Reply-To: vlevsha@gmail.comrn" .
"X-Mailer: PHP/" . phpversion();
mail($to, $subject, $body, $headers);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Plain Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form id="form" action="plain_upload.php" method="post">
<p>
<input type="file" name="uploadedfile" />
</p>
<p>
<input type="submit" name="submit" />
</p>
</form>
</body>
</html>
Заранее всем вам спасибо!
Комментарии:
1. Включите сообщение об ошибках, чтобы вы могли сообщить нам, что происходит при вашей попытке. Примечание сбоку: Хотел бы я отредактировать, чтобы исправить форматирование. Но, увы.
Ответ №1:
Для работы загрузки файлов необходимо иметь теги формы enctype="multipart/form-data"
.
Ответ №2:
Вам нужно добавить enctype
в свой тег формы
<form method="post" action="plain_upload.php" enctype="multipart/form-data">
Ответ №3:
Вам нужно добавить enctype
атрибут в вашу форму для загрузки файлов.
<form method = 'post' action = 'action' enctype = 'multipart/form-data'>
...
</form>
Комментарии:
1. Нет проблем. Иногда легко упустить из виду простые вещи 🙂