Цикл для обработки файлов в атачменты к письму

Рейтинг: 0Ответов: 1Опубликовано: 21.04.2015

Не могу найти цикл, который бы принимал фотографии сохранял их на сервер, и передавал в виде атачмента в письмо.

Сам написал такой вариант, но он не атачит как надо. Приходит только гигантский код который составляет картинку

foreach($_FILES as $fields) {
    foreach($fields['name'] as $index => $file_name) {
        $files[$file_name] = array(
        'type' => $fields['type'][$index],
        'num' => $index,
        'tmp_name' => $fields['tmp_name'][$index]);
    }
}
//удаляем пустые элементы массива
foreach($files as $key=>$value) {
    if ($key=='') {
        unset($files[$key]);
    }
}

//перекидываем в img файлы
foreach($files as $key=>$value) {
    $temp_path = './img/'.$key;
    move_uploaded_file($value['tmp_name'], $temp_path);
}

foreach($files as $key=>$value) {
$filename = './img/'.$key;
$f = $value['num'];
$f = fopen($filename,"rb");
$zag .="Content-Type: image/jpg; name=\"".basename($filename)."\"\r\n"
."Content-Transfer-Encoding: base64\r\n"
."Content-disposition: attachment; file=\"".basename($filename)."\"\r\n"
."\r\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))."\r\n";
}

Ответы

▲ 3

Как минимум нужно поменять content-type на что-то из этого: Список MIME-типов, image

Edit: Видимо с первого раза было непонятно. Если вы ожидаете увидеть картинку, то content-type должен быть соответственным, в википедии по указанной выше ссылке есть специальный раздел с типами для изображений:

image/gif
image/jpeg
image/pjpeg
image/png
image/svg+xml
image/tiff
image/vnd.microsoft.icon
image/vnd.wap.wbmp