2013-03-28 2 views
0

Я использую приведенный ниже сценарий для проверки того, являются ли загруженные файлы PDF-файлами, и если он отправляется с помощью phpmailer. Он отправляет электронное письмо, но нет приложения. Кроме того, он позволяет мне прикреплять файлы без PDF. Пожалуйста помоги.fileinfo не ограничивает только PDF

ob_start(); 
require("class.phpmailer.php"); 

if(isset($_FILES['upload']['tmp_name'])){ 
$finfo = finfo_open(FILEINFO_MIME_TYPE); 
$mime=finfo_file($finfo, $_FILES['upload']['tmp_name']); 
if($mime=='application/pdf'){ 

$message = "some message"; 
$mail = new PHPMailer(); 
$mail->From  = ('[email protected]'); 
$mail->AddAddress=('[email protected]'); 
$mail->Subject = "Submitted files"; 
$mail->Body  = $message; 
$mail->WordWrap = 50; 

foreach($_FILES['upload']['tmp_name'] as $upload) 
if(!empty($upload)) { 
$mail->AddAttachment($upload); 
} 
$mail->Send(); 

header("Location: thankyou.php"); 
exit();  
}} 
+0

Сценарий, как есть ничего не будет делать из-за ошибок синтаксиса. – VolkerK

+0

@VolkerK Я обновил свой сценарий как советую, но теперь я больше не получаю письмо, даже когда прилагается файл PDF. пожалуйста помоги. спасибо. –

+0

XDebug + netbeans - это простая в установке команда debug/frontend для php и может помочь вам выявить проблему: https://netbeans.org/kb/docs/php/debugging.html – VolkerK

ответ

0

В настоящее время у вас есть:

if(...) { 
    ... 
    if($mime=='application/pdf') { 
    } 
} 
// some code you want to be executed 
// only if the mime type is application/pdf 

Но вы хотите:

if (...) { 
    .. 
    if ($mime=='application/pdf') { 
     // place the code you want to be executed 
     // only if the mime type is application/pdf 
     // here - before the closing } 
    } 
} 
Смежные вопросы