<?php
$msg = '';
if (array_key_exists('userfile', $_FILES))
//$uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name']));
$fileName = $_FILES["userfile"]["name"];
$fileTmpLoc = $_FILES["userfile"]["tmp_name"];
$pathAndName = "uploads/".$fileName;
$moveResult = move_uploaded_file($fileTmpLoc, $pathAndName);
if ($moveResult == true) {
// Upload handled successfully
// Now create a message
// This should be somewhere in your include_path
require_once '/home/jaydeepkanada/public_html/phpMailer/PHPMailer-master/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->setFrom('[email protected]', 'Mail From Website');
$mail->addAddress('[email protected]', 'Jaydeep Kanada');
$mail->Subject = 'PHPMailer file sender';
$mail->msgHTML("My message body");
$allowedExts = array("doc", "docx", "pdf");
$extension = end(explode(".", $_FILES["userfile"]["name"]));
if (in_array($extension, $allowedExts))
{
$mail->addAttachment($uploadfile, $_FILES["userfile"]["name"]);
if (!$mail->send()) {
$msg = "Mailer Error: " . $mail->ErrorInfo;
} else {
$msg = "Message sent!";
}
}else{
die("File type not supported. Only PDF or DOC.");
}
} else {
$msg = 'Failed to move file to ' . $uploadfile;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta 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"> Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
<?php } else {
echo $msg;
} ?>
</body>
</html>
hi gys..i новый в php и только обучение. Я использую php mailer для отправки почты с вложениями, и в этом коде путь правильный, но он всегда показывает Faild для перемещения пути. может any1 помочь мне. Thnx заранее ..не удалось переместить файл с tmp_dir на server_dir
Установили ли вы права доступа к каталогам на '777' – madforstrength
Программное обеспечение, которое ha ndles запрос на обработку сценария выше (вероятно, apache, www-data или что-то в этом влиянии), должен быть владельцем каталога, в котором будут храниться файлы. В противном случае вам нужно будет убедиться, что 'группа', принадлежащая' user', которая обрабатывает указанный выше сценарий (apache, www-data и т. Д.), Имеет ту же группу, что и пользователь, которому принадлежит папка (upload) где данные будут сохранены, и могут оба читать ** и ** писать (umask: 06 ** 6 ** 4), где вторая ** 6 ** представляет флаг 'rw + 'для группы. – Ohgodwhy
Вы не проверяете '$ _FILES [" userfile "] ['error']', чтобы убедиться, что загрузка была успешно завершена? – RiggsFolly