Trouble creating zip from form
Posted: Wed Jan 11, 2012 10:55 am
I have a form that you fill in the information then once its submitted it creates a pdf and emails the pdf and a file upload to a specific email. I need to make it so 1) Creates a zip file with the pdf and file upload 2) the zip file uses a name from the form. 3) Add multiple file uploads. I been searching the web and trying out different ways for the last few days but nothing seems to work for me can someone looks at my code and help me out?
Heres my code....
Heres my code....
Code: Select all
<?php
if (!empty($_POST)) {
$success = $error = false;
$post = new stdClass;
$file = $_FILES["attachment"]["tmp_name"]; //"attachment" is the name of your input field, "tmp_name" gets the temporary path to the uploaded file.
$filename = $_FILES["attachment"]["name"]; //"name" gets the filename of the uploaded file.
foreach ($_POST as $key => $val)
$post->$key = trim(strip_tags($_POST[$key]));
if (empty($post->name) OR empty($post->email))
$error = true;
else {
$dir = dirname(__FILE__);
ob_start();
require_once($dir.'/pdf.php');
$pdf_html = ob_get_contents();
ob_end_clean();
require_once($dir.'/dompdf/dompdf_config.inc.php');
$dompdf = new DOMPDF();
$dompdf->load_html($pdf_html);
$dompdf->render();
$pdf_content = $dompdf->output();
ob_start();
require_once($dir.'/html.php');
$html_message = ob_get_contents();
ob_end_clean();
require_once($dir.'/swift/swift_required.php');
$mailer = new Swift_Mailer(new Swift_MailTransport());
$attachment = Swift_Attachment::fromPath($file, $_FILES["attachment"] ["type"]);
$attachment->setFilename($filename);
$message = Swift_Message::newInstance()
->setSubject('Order Entry') // Message subject
->setTo(array('ehilse@paifashion.com' => 'Eric Hilse')) // Array of people to send to
->setFrom(array('cwarhurst@paifashion.com' => 'PAi Order Entry'))
->setBody($html_message, 'text/html') // Attach that HTML message from earlier
->attach(Swift_Attachment::newInstance($pdf_content, 'design.pdf', 'application/pdf')) // Attach the generated PDF from earlier
->attach($attachment);
// Send the email, and show user message
if ($mailer->send($message))
$success = true;
else
$error = true;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>PAi Cap & Tee Art Pack Order Form</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div id="logo">
<img src="images/pailogo.png" id="logo" />
</div>
<h1><abbr title="Paramount Apparel International">PAi</abbr> Cap & Tee Art Pack Order Form</h1>
<?php if ($success) { ?>
<div class="message success">
<h4>Congratulations! It worked! Your order has been sent.</h4>
</div>
<?php } elseif ($error) { ?>
<div class="message error">
<h4>Sorry, an error occurred. Try again!</h4>
</div>
<?php } ?>
<form method="post" action="" enctype="multipart/form-data">
<fieldset>
<legend>Please fill in the following form:</legend>
<label for="name">Your Name:<span class="required">*</span></label>
<input type="text" name="name" id="name" class="input" />
<label for="email">Your Email:<span class="required">*</span></label>
<input type="text" name="email" id="email" class="input" />
<br />
<label for="artpacknumber">Art Pack Number:<span class="required">*</span></label>
<input type="text" name="artpacknumber" id="artpacknumber" class="input" />
<label for="language">New Or Revise?<span class="required">*</span></label>
<select name="language" id="language">
<option value="NEW">New</option>
<option value="REVISE">Revise</option>
</select>
<br />
<label for="duedate">Due Date:<span class="required">*</span></label>
<input type="text" name="duedate" id="duedate" class="input" />
<label for="dateentered">Date Entered:<span class="required">*</span></label>
<input type="text" name="dateentered" id="dateentered" class="input" />
<br />
<label for="designname">Design Name:<span class="required">*</span></label>
<input type="text" name="designname" id="designname" class="input" />
<br />
<label for="customer">Customer:<span class="required">*</span></label>
<input type="text" name="customer" id="customer" class="input" />
<label for="account">Account:<span class="required">*</span></label>
<input type="text" name="account" id="account" class="input" />
<br />
<label for="salesrep">Sales Rep:<span class="required">*</span></label>
<input type="text" name="salesrep" id="salesrep" class="input" />
<label for="extension">Extension:<span class="required">*</span></label>
<input type="text" name="extension" id="extension" class="input" />
<br />
<label class="commentslabel" for="comments">Comments:<span class="required">*</span></label>
<textarea name="comments" id="comments" rows="4" cols="40"></textarea>
<br />
<label for="attachment">File Upload<br /><span class="required">*</span></label>
<input name="attachment" id="attachment" type="file">
<br />
<input type="submit" class="submit" id="submit" value="Submit" />
</fieldset>
</form>
</div>
</body>
</html>