0

このコードを、ユーザーがファイルを添付してメールで送信できるメールフォームとして使用しています。添付ファイルのファイル サイズをおそらく 5 MB に制限するために追加できるコードを考えていました。この ShotDev.Com チュートリアルのコードを使用しています。ありがとう。

            <html>
            <head>
            <title>ShotDev.Com Tutorial</title>
            </head>
            <body>
            <?
                $strTo = $_POST["txtTo"];
                    $strTo = "aziola@yahoo.com";
                $strSubject = $_POST["txtSubject"];
                    $strMessage1 = ($_POST["txtrar"]);
                $strMessage2 =  ($_POST["txtDescription"]);
    $strMessage3 =  ($_POST["coname"]);
    $strMessage4 =  ($_POST["address1"]);
    $strMessage5 =  ($_POST["address2"]);

        $strMessage6 =  ($_POST["city"]);

            $strMessage7 =  ($_POST["state"]);

                $strMessage8 =  ($_POST["zip"]);

                    $strMessage9 =  ($_POST["country"]);


    $strMessage10 =  ($_POST["phone"]);

    $strMessage11 =  ($_POST["fax"]);

//*** Uniqid Session ***//
$strSid = md5(uniqid(time()));

$strHeader = "";
$strHeader .= "From: ".$_POST["txtFormName"]."<".$_POST["txtFormEmail"].">\nReply-To: ".$_POST["txtFormEmail"]."";

$strHeader .= "MIME-Version: 1.0\n";
$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
$strHeader .= "This is a multi-part message in MIME format.\n";

$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-type: text/html; charset=utf-8\n";
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";

$strHeader .= $strMessage."\n\n";


$strHeader .= $strMessage1."     \n\n ";

    $strHeader .= $strMessage2."\n\n";

     $strHeader .=  "  <br> <br>  Company Name:  \n\n ";

            $strHeader .= $strMessage3."\n\n";

            $strHeader .=  "  <br> <br>Address1:  \n\n ";

                $strHeader .= $strMessage4."\n\n";

                $strHeader .=  "  <br> <br>Address2:   \n\n ";
                    $strHeader .= $strMessage5."\n\n";

                        $strHeader .=  "  <br> <br>City:   \n\n ";
                        $strHeader .= $strMessage6."\n\n";

                            $strHeader .=  "  <br> <br>State:   \n\n ";
                            $strHeader .= $strMessage7."\n\n";

                                $strHeader .=  "  <br> <br>Zip:   \n\n ";
                                $strHeader .= $strMessage8."\n\n";

                                    $strHeader .=  "<br> <br>Country:   \n\n ";
                                    $strHeader .= $strMessage9."\n\n";

                                $strHeader .=  " <br> <br>Phone:   \n\n ";
                            $strHeader .= $strMessage10."\n\n";
                                    $strHeader .=  " <br> <br>Fax:   \n\n ";
                                $strHeader .= $strMessage11."\n\n"; 




//*** Attachment ***//
if($_FILES["fileAttach"]["name"] != "")
{
    $strFilesName = $_FILES["fileAttach"]["name"];
    $strContent = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"]["tmp_name"]))); 

    $strHeader .= "--".$strSid."\n";
    $strHeader .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n"; 
    $strHeader .= "Content-Transfer-Encoding: base64\n";
    $strHeader .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
    $strHeader .= $strContent."\n\n";
}


$flgSend = @mail($strTo,$strSubject,null,$strHeader);  // @ = No Show Error //

if($flgSend)
{
    echo "Mail send completed.";
}
else
{
    echo "Cannot send mail.";
}
?>
</body>
</html>
<!--- This file download from www.shotdev.com -->
4

2 に答える 2

0
<?php
$maxsize = 2097152; // set you file size here current size: 2 MB
$count = 0; // set your counter here
if($_FILES['uploaded_file']['size'] >= $maxsize){
    //file larger than allowed
    //your rest of the code

} else{

    mail($strTo,$strSubject,null,$strHeader);  
    $count = 1; //send mail and increment counter

}
if($count > 0)
{
    echo "Mail send completed.";
}
else
{
    echo "Cannot send mail.";
}
?>
于 2013-05-03T16:26:35.457 に答える