posderfet
Новичок
Проблема собственно вот в чем, есть код, который перебирает файлы из мультизагрузочного инпута, записывает их на сервер при этом создавая zip архив из этих файлов. Далее отправляется письмо на почту с прикрепленным архивом, точнее не то чтобы отправляется, а еще точнее оно приходит, и там виден прикрепленный архив, но весит он 1кб и естественно не открывается, а на сервере при этом лежит нормальный архив с таким же именем. Битый час уже голову ломаю, не могу понять в чем проблема. Может подскажет кто в чем моя ошибка.
PHP:
if(isset($_POST)){
$name = $_POST['name'];
$phone = $_POST['phone'];
$desc = $_POST['mess'];
$file_folder = "../upload/";
$email = "[email protected]";
$boundary = "--".md5(uniqid(time()));
if(isset($_FILES)){
$zip = new ZipArchive();
$zip_name = $file_folder.$name.time().".zip";
if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE) {
echo "архив не создался чёт(";
}
$delete = array();
foreach( $_FILES['file'] as $key => $all ){
foreach( $all as $i => $val ){
$new[$i][$key] = $val;
}
}
foreach ($new as $file) {
foreach ($file as $key => $value) {
$tmp_name = $file["tmp_name"];
$namef = $file["name"];
move_uploaded_file($tmp_name, "../upload/$namef");
$zip->addFile($file_folder.$namef);
}
}
$from = "[email protected]";
$to = "[email protected]";
$subj = "Письмо с сайта xxx от $name";
$text = "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">
<p><b>Имя:</b> $name</p><br>
<p><b>Телефон:</b> $phone</p><br>
<p style=\"width: 500px; height: auto;\"><b>Текст:</b> $desc</p><br>";
$filename = $zip_name;
function xmail( $from, $to, $subj, $text, $filename) {
$f = fopen($filename,"rb");
$un = strtoupper(uniqid(time()));
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\n";
$head .= "X-Mailer: PHPMail Tool\n";
$head .= "Reply-To: $from\n";
$head .= "Mime-Version: 1.0\n";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary=\"----------".$un."\"\n\n";
$zag = "------------".$un."\nContent-Type:text/html;\n";
$zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";
$zag .= "------------".$un."\n";
$zag .= "Content-Type: application/zip";
$zag .= "name=\"".basename($filename)."\"\n";
$zag .= "Content-Transfer-Encoding:base64\n";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename=\"".basename($filename)."\"\n\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
return @mail("$to", "$subj", $zag, $head);
}
xmail( $from, $to, $subj, $text, $filename);
}
}