Eredmény: 1 - 3 (3) összesen

Téma: PHP mail küldés melléklettel

  1. #1
    Új tag
    Csatlakozott
    10-07-12
    Hozzászólás
    47
    Begyűjtött 4 köszönetet
    4 hozzászólásával

    Kérdés PHP mail küldés melléklettel

    Sziasztok!

    Azt szeretném, ha az oldalamon lenne egy kapcsolatfelvételi űrlap, melyen keresztül mellékletet (pontosabban képet) küldhetnek.
    Találtam is egy scriptet, de a kép helyett csak értelmetlen karakterek jönnek át. Hol lehet a hiba?

    Kód:
    <?php
    
    if(isset($_POST) && !empty($_POST) ) {
    
    if(!empty($_FILES['attachment']['name'])) {
    // store some variables
    $file_name = $_FILES['attachment']['name'];
    $temp_name = $_FILES['attachment']['tmp_name'];
    $file_type = $_FILES['attachment']['type'];
    
    // get the extension of the file
    $base = basename($file_name);
    $extension = substr($base, strlen($base)-4, strlen($base));
    
    
    // mail essenstials
    $from = $_POST['email'];
    $to = "cimzett@domain.com";
    $subject = "level targya";
    $message = "level resze";
    
    // things you need
    $file = $temp_name;
    $content = chunk_split(base64_encode(file_get_contents($file)));
    $uid = md5(uniqid(time()));
    
    //standard mail headers
    $header = "from: ".$from."\r\n";
    $header = "Reply-To: ".$replyto."\r\n";
    $header = "MIME-Version: 1.0\r\n";
    
    $header .= "(Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
    $header .= "This is a multi-part message in MIME format. \r\n";
    
    // plain tex part
    $header .= "--".$uid."\r\n";
    $header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    $header .= $message."\r\n\r\n";
    
    //file attachment
    $header .= "--".$uid."\r\n";
    $header .= "Content-type: ".$file_type."; name=\"".$file_name."\"\r\n";
    $header .= "Content-Transfer-Encoding: base64\r\n";
    $header .= "Content-Disposition: attachment; filename=\"".$file_name."\"\r\n";
    $header .= $content."\r\n\r\n";
    
    if (mail($to, $subject, "", $header)) {
    echo "success";
    } else {
    echo "fail";
    }
    exit();
     }
     }
    ?>
    
    <html>	
    <body>
    <form method="post" action="attach.php" enctype="multipart/form-data">
    <input type="text" name="email" value="from"/>
    <br>
    <input type="file" name="attachment"/>
    <br>
    <input type="submit" value="Send mail"/>
    </form>
    </body>
    </html>




  2. #2
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: PHP mail küldés melléklettel

    Nézd meg a PHPMailer-t, ebben elvileg van attachment lehetőség. (Megj.: a téma nevére rákeresve G-ben elég sok kész, hasznos cucc és tipp található).



  3. #3
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.820
    Begyűjtött 812 köszönetet
    576 hozzászólásával

    Alapbeállítás re: PHP mail küldés melléklettel

    Utoljára módosítva: earnnet által : 2016-02-03 16:01

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •