i can't attachment multiple file. If i attachment file more than a files, email send always 1 file attachment, but i attachment more than a file.
if(isset($_POST['upload'])){
include('config.php');
include_once('Mail.php');
include_once('Mail/mime.php');
$allowed_ext = array('jpg','bmp','gif','png','jpeg');
for($i=0; $i<count($_FILES['file']['name']); $i++) {
$file_name = $_FILES['file']['name'][$i];
$file_ext = strtolower(end(explode('.', $file_name)));
$file_size = $_FILES['file']['size'][$i];
$file_tmp = $_FILES['file']['tmp_name'][$i];
$username = $_POST['username'];
$judul = $_POST['judul'];
$berita = $_POST['berita'];
$max_size = 25*1024*1024;
$tanggal_kirim = date("Y-m-d H:i:s");
if(in_array($file_ext, $allowed_ext) === true){
if($file_size <= $max_size){
$file_path = "foto/". $_FILES['file']['name'][$i];
move_uploaded_file($file_tmp, "$file_path");}
mysql_query("INSERT INTO foto VALUES('', '$username', '$tanggal_kirim', '$judul', '$berita','0')");
}
$query = "SELECT email,password_email FROM users where username='$username'";
$sql = mysql_query($query);
$data = mysql_fetch_assoc($sql);
$subject = $judul;
$body = $berita;
//mail($to, $subject, $body,$headers);
//email tujuan
$to = "babagusandrian@gmail.com";
$host = "ssl://smtp.gmail.com";
$port = "465";
$from = $useremail = $data['email'];
$password = $data['password_email'];
$headers = array('From' => $from, 'To' => $to, 'Subject' => $subject);
$namafile[$i] = "$file_path/$file_name";
$crlf = "\n";
$mime = new Mail_mime($crlf);
$mime->setTXTBody($body);
$mime->addAttachment($namafile[$i],'image/jpg');
$body = $mime->get();
$headers = $mime->headers($headers);
$smtp = Mail::factory('smtp', array('host' => $host,
'port' => $port, 'auth' => true,
'username' => $useremail, 'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if($mail){
echo '<div class="ok">SUCCESS: Foto terkirim!</div>';
}else{
echo '<div class="error">ERROR: Foto gagal dikirim!</div>';
}
}
}
what's wrong with my code? please help me. give me resolve.... thanks you..... sry for my english, im from indonesia. so just litle speak english. sry....
i was resolved by my self. i can do it....
if(isset($_POST['username']) && isset($_POST['judul']) &&
($_POST['berita']) ) {
include('config.php');
include_once('Mail.php');
include_once('Mail/mime.php');
$username = $_POST['username'];
$judul = $_POST['judul'];
$berita = $_POST['berita'];
$tanggal_kirim = date("Y-m-d H:i:s");
$query = "SELECT email,password_email FROM users where username='$username'";
$result = mysql_query($query);
list($useremail,$password) = mysql_fetch_row($result);
mysql_free_result($result);
$from = $useremail;
$subject = $judul;
$body = $berita;
$to = "babagusandrian@gmail.com";
$host = "ssl://smtp.gmail.com";
$port = "465";
$crlf = "\n";
$headers = array('From' => $from, 'To' => $to, 'Subject' => $subject);
$mime = new Mail_mime($crlf);
$mime->setTXTBody($body);
$arr_files = array();
$file_path = "foto";
$file_count = 0;
for($i=0; $i<count($_FILES['fileAttach']['name']); $i++) {
$file_name = $_FILES['fileAttach']['name'][$i];
if(!empty($file_name)) {
$file_count++;
$file_ext = strtolower(end(explode('.', $file_name)));
$file_tmp = $_FILES['fileAttach']['tmp_name'][$i];
$file_target = $file_path.'/'.$file_name.'';
$file_type ="image/*";
move_uploaded_file($file_tmp, $file_target);
$arr_files[] = $file_target;
$mime->addAttachment($file_target,"image/".$file_ext, $file_type);
}
}
$body = $mime->get();
$headers = $mime->headers($headers);
$smtp = Mail::factory('smtp', array('host' => $host,
'port' => $port, 'auth' => true,
'username' => $useremail, 'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if($mail){
mysql_query("INSERT INTO foto VALUES('', '$username', '$tanggal_kirim', '$judul', '$berita','$file_count')");
echo '<div class="ok">SUCCESS: Foto terkirim!</div>';
}else{
echo '<div class="error">ERROR: Foto gagal dikirim!</div>';
}
// sukses atopun gagal, tetap delete file
foreach($arr_files as $namafile) { unlink($namafile); }
}