Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    9

    PhpMailer e salvataggio allegato sul server

    Salve...Io ho 2 file...1 html col form per l'invio di un allegato e 1 php con la classe phpmailer. Io in pratica vorrei che quando uno allega e mi manda il file che risiede sul suo compurer, tale file non si salvasse sul mio server o se c'era un modo per eliminare in automatico tale file salvato da phpmailer.

    Se proprio non c'è modo di fare una cosa o un'altra mi dite come posso includere tale file in una cartella "temp" che risiede nella cartella di phpmailer? Perchè adesso tutti i file allegati me li trovo nella cartella phpmailer.

    Grazie

    HTML

    <div>
    <form action="http://fabiobarba.altervista.org/PHPMailer/mailManager.php" enctype="multipart/form-data" method="POST">
    <table><tbody>
    <tr> <td>Nome</td> <td><input class="text" name="nome" size="20" type="text" /></td> </tr>
    <tr> <td>Cognome</td> <td><input class="text" name="cognome" size="20" type="text" /></td> </tr>
    <tr> <td>Email</td> <td><input class="text" name="email" size="20" type="text" /></td> </tr>
    <tr> <td>Messaggio</td> <td><textarea cols="20" name="messaggio" rows="2"></textarea></td> </tr>
    <tr> <td>File</td> <td><input name="allegato" type="file" /></td> </tr>
    <tr> <td></td> <td><input name="sub" type="submit" value="Invia" /><input name="res" type="reset" value="Annulla" /></td> </tr>
    </tbody></table>
    </form>
    </div>


    PHP:

    <?php

    require_once('class.phpmailer.php');
    //upload dell'allegato
    if (!move_uploaded_file($_FILES['allegato']['tmp_name'], $_FILES['allegato']['name']))
    {
    echo "Errore nel caricamento dell'immagine";
    }
    else{
    //invio mail
    $mail = new PHPMailer();
    $mail->SetFrom($_POST['email'],$_POST['nome']."".$_POST['cognome']); //mittente
    $mail->AddAddress("fabio-barba@alice.it", "Nome destinatario"); //destinatario
    $mail->Subject = "Invio mail da form"; //oggetto
    $mail->Body = $_POST['messaggio']; //corpo del messaggio
    $mail->AddAttachment($_FILES['allegato']['name']); //allegato appena caricato sul server

    if(!$mail->Send())
    {
    echo "Messaggio non inviato!

    ";
    echo "Errore: " . $mail->ErrorInfo;
    exit;
    }
    echo "Message inviato con successo";
    }

    ?>


    <script language="JavaScript" type="text/javascript">
    window.setTimeout ("location.href=('http://fscg.blogspot.it/p/manutd-2003.html')", 4000);

    // -->
    </SCRIPT> PHP:

  2. #2
    Una cosa che mi viene in mente potrebbe essere che dopo l'invio della mail fai girare un comando di pulizia della cartella tipo : exec('rm -f -r /path/directory_temporanea')
    Bho questa e' una soluzione che mi e' venuta in mente, non sara' di certo la migliore.
    Un saluto.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    9
    Risolto. Grazie mille. Si può chiudere.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.