[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прикрепление несколько файлов в обратной связи
Гость_Евгений
Здравствуйте, есть обратная связь с прикреплением файла. Все работает, все круто, но хотелось бы чтоб прикреплялся не 1 файл а 3. Помогите пожалуйста. вот код отвечающий за прикрепление файла.
<input type="file" name="mail_file" size="30">



 /**/// Если поле выбора вложения не пустое - закачиваем его на сервер 
if (!empty($_FILES['mail_file']['tmp_name']))
{
$path = $_FILES['mail_file']['name'];
if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
}
if(empty($picture))
{


$headers .= "Content-Type: ".$content." charset=".$charset."\r\n";
if (mail($mailto,$subject,$sendmessage,$headers))
{
$status = "Ваше сообщение отправлено!";
}
else
{
$status = "По техническим причинам сообщение не было отправлено. Попробуйте снова, а если не получится, обратитесь к разработчикам";
}
}
//отправка сообщения с вложением
else
{
$fp = fopen($path,"r");
if (!$fp)
{
print "Файл ".$path." не может быть прочитан";
exit();
}
$file = fread($fp, filesize($path));
fclose($fp);

$boundary = "--".md5(uniqid(time())); // генерируем разделитель

$headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
$multipart .= "--".$boundary."\n";

$multipart .= "Content-Type: text/html; charset=$charset\n";
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
$multipart .= "$sendmessage\n\n";

$message_part = "--".$boundary."\n";
$message_part .= "Content-Type: application/octet-stream\n";
$message_part .= "Content-Transfer-Encoding: base64\n";
$message_part .= "Content-Disposition: attachment; filename = \"".$picture."\"\n\n";
$message_part .= chunk_split(base64_encode($file))."\n";
$multipart .= $message_part."--".$boundary."--\n";

if(!mail($mailto, $subject, $multipart, $headers)) $status = "По техническим причинам сообщение не было отправлено. Попробуйте снова, а если не получится, обратитесь к разработчикам";
else $status = "Ваше сообщение отправлено!";
}
}
}
?>
Zzepish
Пили массив:
<input type="file" name="mail_file[]" size="30">
Потом прогоняй через php
$_FILES['mail_file'][0]['name'] и т.д.
Гость_Евгений
Спасибо буду пробывать
Zzepish
Гость_Евгений
обращайся, если что
Guest
а можно как нибудь не массивом сделать? а то я массивом не потяну)
Zzepish
Guest
Так там просто) циклом прогнать и все)
Смотри, ты принимаешь так:
for($i=0;$i<count($_FILES['mail_file']);$i++){
//////////// тут действия с массивом вида $_FILES['mail_file'][$i]
}

А вообще пробей массив $_FILES через echp '<pre>'.print_r($_FILES,1).'</pre>' и там смотри значения
Гость_Евгений
А можешь мне накидать кодик, просто слаб в php(
Zzepish
О_О ты верхний код сам писал??
Гость_Евгений
Неа, в интернете нашел. вот и прошу помощи.
Zzepish
Гость_Евгений
СОри чувак. Я тебе кинул констукцию, альше сам) могу хорошие курсы посоветовать (учит с нуля человек ВСЕМУ (html,css,php, javascript). При этом через прямую трансляцию ,и проверяет домашки
Guest
Спасибо и на этом. А что за курсы?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.