2016-12-20 6 views
0

Как я могу изменить свой код, чтобы принимать только некоторые расширения.Допустимое расширение phpmailer

выглядеть мой код:

<?php 
    ob_start(); 
    $_SESSION['nomecomp'] = $_POST['nomecomp']; 

     $email_env = $_POST['email_env']; 
     if (isset($email_env)) { 
    //variaveis vindas da pagina 
    $varcritico = $_POST['varcritico']; 
    $nomecomp = $_POST['nomecomp']; 
    $chapa = $_POST['chapa']; 
    $funcao = $_POST['funcao']; 
     $setor = $_POST['setor']; 
     $unidade = $_POST['unidade']; 
     $deschelp = $_POST['deschelp']; 





    //variveis do modal 
    //$email_env = $_POST['email_env']; 
     //$senha_env = $_POST['senha_env']; 






     <td>$deschelp</td> 



     </tr> 
     </table>'"; 

     /** 
     * 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 
      include ("lib/PHPMailerAutoload.php"); 
     $mail = new PHPMailer(); 

я пытался добавить некоторые коды, но не стоит сделал успех на, к примеру, мог бы я попробовать подтолкнуть массив и посмотреть, если расширение внутри некоторого массива?

спасибо.

+0

Во-первых, создать массив разрешенных расширений ($ AllowedFileTypes). Во-вторых, получите расширение загруженного файла ($ FileExtension), а затем проверьте, является ли расширение in_array ($ FileExtension, $ AllowedFileType) – JustBaron

+0

следующим образом: '$ allowed = array ('pdf', 'doc', 'docx' , 'gif', 'jpeg', 'jpg', 'png', 'rtf', 'txt', 'zip'); ' –

+0

Да, что-то в этом роде. Затем либо проверьте форму перед отправкой, либо подтвердите тип файла/расширение перед копированием/перемещением из локации tmp – JustBaron

ответ

0

Предположив вы хотите проверить загруженные типы файлов перед их перемещением:

$AllowedFileTypes = array("pdf","txt"); // build array 
$FileName = $_FILES['userfile']['name']; // get filename of file input 
$FileType = end((explode(".", $FileName))); // get file type/extension 
if(in_array($FileType, $AllowedFileTypes)){ // check to see if file type is allowed 
// perform copy/move file 
} 
else{ 
// ignore/alert/whatever 
} 

Примечание: Вы, возможно, придется изменить переменные в соответствии с вашими требованиями.

Если вы хотите проверить файл типа/расширения перед отправкой формы, обратите внимание на проверки JQuery для ввода имени файла: https://stackoverflow.com/a/20929391/715105