|
|
24.06.2010, 00:52
|
|
Гость
Гость
|
С сайта должно отправляться письмо с вложенным файлом. Не получается проверить наличие файла. Если файл не вкладывался, то у меня откуда-то образуется .dat.
Код:opt($DOCUMENT_ROOT.$f_Attachment, $mailer->attachFile($DOCUMENT_ROOT.$f_Attachment_url, $f_Attachment[name], "application/octet-stream"));
или второй вариант
Код:if(File_Exists($DOCUMENT_ROOT.$f_Attachment)){
$mailer->attachFile($DOCUMENT_ROOT.$f_Attachment_url, $f_Attachment[name], "application/octet-stream");
}
|
|
|
24.06.2010, 08:34
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
А в чем у вас собственно проблема? Первый вариант не рабочий так как условие всегда будет верным.
По сути информация о файле хранится в БД, вам нужно проверить есть ли переменная содержащая путь до файла. Проверять физическое наличие файла большого смысла нет.
Не уверен но File_Exists может не работать если вы используете защищенную файловую систему, так как файлы хранятся на сервере без расширения.
К тому же если вы пишите этот код в действии после добавления $f_Attachment будет всегда верно, вне зависимости от того есть файл или нет, так как это массив значений
Пишите просто:
Код:".opt($f_Attachment_url,"....")."
if($f_Attachment_url){
......
}
А вернее будет:
Код:".opt($_FILES[f_Attachment][size]!=0 && $_FILES[f_Attachment][type]!='',"....")."
if($_FILES[f_Attachment][size]!=0 && $_FILES[f_Attachment][type]!=''){
......
}
|
|
|
24.06.2010, 11:25
|
|
Гость
Гость
|
почему-то это не срабатывает:
Код:opt($_FILES[f_Attachment][size]!=0 && $_FILES[f_Attachment][type]!='', $mailer->attachFile($DOCUMENT_ROOT.$f_Attachment_url, $f_Attachment[name], "application/octet-stream"));
все равно присоединяется файл .dat 73 байт
|
|
|
24.06.2010, 11:44
|
|
Гость
Гость
|
может у меня команда вложения внутри opt написана неверно?
если беру в "", выдается ошибка
|
|
|
24.06.2010, 12:12
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
opt использовать нельзя php код внутри него выполняется в любом случае (забыл совсем). opt и opt_case желательно использовать только для вывода контента.
В вашем случае использовать opt вообще нет смысла, он используется в макетах дизайна, префиксе, объекте в списке, суфиксе и полном выводе объекта. В php коде используйте конструкцию if
Код:if($_FILES[f_Attachment][size]!=0 && $_FILES[f_Attachment][type]!=''){
......
}
или
Код:".($_FILES[f_Attachment][size]!=0 && $_FILES[f_Attachment][type]!=''?"...": NULL )."
|