[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: требуется дельный совет
Klemanso
Добрый день!

приходится разгребать чужой навоз, т.к. боссы втихаря заказали сайт на стороне
в итоге получилась сплошная халтура и к тому же - не работающая

очень остро стоит вопрос об отправке почты через контакную форму, но уже с вложением т.к. требуются постоянно некие документы для подтверждения (счета, платежки, формы заказа и т.п.), т.е. то что существует в электронном виде, но создает определенный геморрой при оправке факсами и т.д.

форму простой отправки я уже сделал

есть работающие 2 скрипта

первый - выбирает файл с компьютера пользователя и передает его во временную папку на сервак
все идет на ура, причем имеет 2 фазы
а) закачка в ./php/upload с присвоением временного имени
б) перемещение в указанную директорию с восстановлением уникального имени

второй отправляет письма с вложениями вообще

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

вивисекцию я и сам могу а надо чтобы работало.... smile.gif

заранее благодарен за помощь
не возражаю если она будет не безвозмездной т.к. есть еще пара вопросов но уже в другом аспекте работы сайта



Спустя 17 минут, 6 секунд (24.02.2007 - 14:33) Patrick написал(а):
нужен код этих скриптов! или на пальцах объяснить?

Спустя 12 минут, 29 секунд (24.02.2007 - 14:46) Klemanso написал(а):
я понимаю что нужен код
просто зашел тут на днях на PHPclub - нашел там подобную тему и в нее написал все то же самое
итог- сначала высмеяли что поднял тему которой уже много времени потом что напечатал код
хотя этика общения на формуах при этом везде одинакова - не создавайте аналогичную тему если подобная уже есть

куда его лучше:
здесь или в мыло?

Спустя 15 минут, 7 секунд (24.02.2007 - 15:01) Patrick написал(а):
здесь!

Спустя 6 минут, 2 секунды (24.02.2007 - 15:07) Klemanso написал(а):
хорошо но будет дофига буковок.....


Спустя 2 часа, 40 минут, 28 секунд (24.02.2007 - 17:47) Klemanso написал(а):
Parse error: parse error in G:\WEB\Apache Group\Apache2\htdocs\mail2_att.php on line 58

почему?

Спустя 2 минуты, 22 секунды (24.02.2007 - 17:50) md5 написал(а):
может ещё и строку #58 покажешь? чтоб мы уж совсем испугались...

Спустя 19 минут, 35 секунд (24.02.2007 - 18:09) Klemanso написал(а):
Цитата(md5 @ 24.2.2007, 17:50) [snapback]14155[/snapback]

может ещё и строку #58 покажешь? чтоб мы уж совсем испугались...



так она такая как написано выше и есть
это кто-то исправил то что я изначально написал - но потихоньку, по этому и не знаю у кого спросить о причине

Спустя 7 минут, 55 секунд (24.02.2007 - 18:17) md5 написал(а):
дай сюда строку, на которую ругаетцо, облегчи людям жизнь

или ты хочешь сказать что ругетцо на это:
PHP
  1. $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;

??

Спустя 2 минуты, 32 секунды (24.02.2007 - 18:20) Klemanso написал(а):
Цитата(md5 @ 24.2.2007, 18:17) [snapback]14160[/snapback]

дай сюда строку, на которую ругаетцо, облегчи людям жизнь

или ты хочешь сказать что ругетцо на это:
PHP
  1. $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;

??



да именно это я и сказал = возле нее же стоит 58 вроде бы....
могу снова просто переслать оригиналы тех скриптов которые у меня есть
так будет лучше разобраться что к чему

ТУТ_ОНИ

Спустя 11 минут, 54 секунды (24.02.2007 - 18:31) Ghost написал(а):
Parse error: parse error in G:\WEB\Apache Group\Apache2\htdocs\mail2_att.php on line 58
файл тот?

Спустя 9 минут, 33 секунды (24.02.2007 - 18:41) md5 написал(а):
ты считаешь номер строки из поста на phpforum?

Спустя 1 минута, 35 секунд (24.02.2007 - 18:43) Klemanso написал(а):
Цитата(Ghost @ 24.2.2007, 18:31) [snapback]14162[/snapback]

Parse error: parse error in G:\WEB\Apache Group\Apache2\htdocs\mail2_att.php on line 58
файл тот?


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

при обращении к оригинальному - приходит безымянка на заданный адрес с неким аттачем = типа тестовое сообщение

при обращении к этому - выдает такую вот ошибку

выше я привел ссылку на свои оригинальные, а то снова потихому подправят и не скажут куда и на что посмотреть перед тем как снова слажаться smile.gif

Спустя 12 минут, 19 секунд (24.02.2007 - 18:55) md5 написал(а):
ты открой файл G:\WEB\Apache Group\Apache2\htdocs\mail2_att.php
найди 58ю и сюда

Спустя 12 минут, 45 секунд (24.02.2007 - 19:08) Klemanso написал(а):
Ну вот оно:


<?php
function send_mail($emailaddress, $fromaddress, $emailsubject, $body, $attachments=false)
{
$eol="\r\n";
$mime_boundary=md5(time());

# Common Headers
$headers .= 'From: MyName<'.$fromaddress.'>'.$eol;
$headers .= 'Reply-To: MyName<'.$fromaddress.'>'.$eol;
$headers .= 'Return-Path: MyName<'.$fromaddress.'>'.$eol;
// these two to set reply address $headers .= "Message-ID: <".$now." TheSystem@".$_SERVER['SERVER_NAME'].">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol; // These two to help avoid spam-filters

# Boundry for marking the split & Multitype Headers
$headers .= 'MIME-Version: 1.0'.$eol;
$headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$eol;

$msg = "";

if ($attachments !== false)
{
for($i=0; $i < count($attachments); $i++)
{
if (is_file($attachments[$i]["file"]))
{

# File for Attachment
$file_name = substr($attachments[$i]["file"], (strrpos($attachments[$i]["file"], "/")+1));


$handle=fopen($attachments[$i]["file"], 'rb');
$f_contents=fread($handle, filesize($attachments[$i]["file"]));
$f_contents=chunk_split(base64_encode($f_contents)); //Encode The Data For Transition using base64_encode();
fclose($handle);

# Attachment
$msg .= "--".$mime_boundary.$eol;
$msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol;
$msg .= "Content-Transfer-Encoding: base64".$eol;
$msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol; // !! This line needs TWO end of lines !! IMPORTANT !!
$msg .= $f_contents.$eol.$eol;
}
}
}

# Setup for text OR html
$msg .= "Content-Type: multipart/alternative".$eol;

# Text Version
$msg .= "--".$mime_boundary.$eol;
$msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;
$msg .= "Content-Transfer-Encoding: 8bit".$eol;
$msg .= strip_tags(str_replace("<br>", "\n", $body)).$eol.$eol;

# HTML Version
$msg .= "--".$mime_boundary.$eol;
$msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;

Спустя 9 минут (24.02.2007 - 19:17) md5 написал(а):
йоптвайубапку!
5 раз?

где 58 строка тут???

здесь их 57!!!

Спустя 15 минут, 29 секунд (24.02.2007 - 19:32) Klemanso написал(а):
Цитата(md5 @ 24.2.2007, 19:17) [snapback]14172[/snapback]

йоптвайубапку!
5 раз?

где 58 строка тут???

здесь их 57!!!



первая пустая - как в оригинале, СООТВЕТСТВЕННО 58-Я = ПОСЛЕДНЯЯ

Спустя 6 минут, 49 секунд (24.02.2007 - 19:39) Ghost написал(а):
?>

есть?

Спустя 8 минут, 30 секунд (24.02.2007 - 19:47) Klemanso написал(а):
все!
нашел сам
про <открыл
>закрыл я помню прекрасно
дело было не в этом
моя ошибка получилась при копировании и слиянии - выпала последующая строка - вот он и лаялся на предыдущую

но дело тут в том что я не понял что значат внесенные изменения вот потому и потерялся

все же хочется знать на будущее в чем была первая непонятка чтобы не повторять ошибок потом

и еще одно замечание - эти два мыльных скрипта похоже очень сильно отличаются друг от друга в области кодировки
первый то шлет все русскочитаемое а второй крякозябрами если текст не латиницей писать

так что получается дополнительная вводная - нормализовать кодировку

Спустя 9 минут, 5 секунд (24.02.2007 - 19:57) Ghost написал(а):
$headers

Спустя 2 минуты, 28 секунд (24.02.2007 - 19:59) Klemanso написал(а):
Цитата(Ghost @ 24.2.2007, 19:57) [snapback]14177[/snapback]

$headers



пробовал
$headers = "Content-type: text/html; charset=windows-1251 \r\n";

не получилось почему то....
может ставил не на ее место...?

Спустя 3 дня, 5 часов, 53 минуты, 14 секунд (28.02.2007 - 01:52) Klemanso написал(а):
Тема закрыта
большой респект Patriсk`у
Быстрый ответ:

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