How to use PHP & Upload,Zip file and Send Email Attachment This is Learn / tutorial php programming how to using PHP Upload,Zip file and Send Email Attachment
ShotDev Focus:
- PHP & Upload,Zip file and Send Email Attachment.
Example
php_zip_mail1.php
<html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <form action="php_zip_mail2.php" method="post" enctype="multipart/form-data" name="frmMain"> <table width="343" border="1"> <tr> <td>To</td> <td><input name="txtTo" type="text" ></td> </tr> <tr> <td>Subject</td> <td><input name="txtSubject" type="text"></td> </tr> <tr> <td>Description</td> <td><textarea name="txtDescription" cols="30" rows="4"></textarea></td> </tr> <tr> <td>Form Name</td> <td><input name="txtFormName" type="text"></td> </tr> <tr> <tr> <td>Form Email</td> <td><input name="txtFormEmail" type="text"></td> </tr> <tr> <td>Attachment</td> <td> <input name="fileAttach[]" type="file"><br> <input name="fileAttach[]" type="file"><br> <input name="fileAttach[]" type="file"><br> <input name="fileAttach[]" type="file"><br> <input name="fileAttach[]" type="file"><br> <input name="fileAttach[]" type="file"><br></td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Send"></td> </tr> </table> </form> </body> </html>
php_zip_mail2.php
<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<?
$strTo = $_POST["txtTo"];
$strSubject = $_POST["txtSubject"];
$strMessage = nl2br($_POST["txtDescription"]);
//*** 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=windows-874\n"; // or UTF-8 //
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
$strHeader .= $strMessage."\n\n";
//*** Zip Files ***//
require_once("dZip.inc.php");
$PathName = "myfile";
$ZipName = "myzip.zip";
$zip = new dZip($PathName."/".$ZipName); // New Class
for($i=0;$i<count($_FILES["fileAttach"]["name"]);$i++)
{
if($_FILES["fileAttach"]["name"][$i] != "")
{
$zip->addFile($_FILES["fileAttach"]["tmp_name"][$i],$_FILES["fileAttach"]["name"][$i]); // Source,Destination
}
}
$zip->save();
//*** Attachment ***//
if($ZipName != "")
{
$strFilesName = $ZipName;
$strContent = chunk_split(base64_encode(file_get_contents($PathName."/".$ZipName)));
$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 "Email send completed.";
}
else
{
echo "Cannot send mail.";
}
?>
</body>
</html>
Create a php file and save to path root-path/myphp/
Run
http://localhost/myphp/php_zip_mail1.php
Screenshot


