![]() |
Может ли функция mail отправлять файлы ???
Уважаемые знатоки!!!
Подскажите может ли функция mail отправлять файлы??? Короче есть простая форма отправки анкет, нужно добавить вложение файла. |
да может...
|
А как это реализовать?
Я вставляю ХТМЛ тэг, который указывает расположение файла. А потом в функции майл указываю его имя как обычную переменную? |
Вложений: 1
Hi !
Проще всего взять какой-нибудь готовый класс :) например стандартный MIME.class из аттача тогда если попытаться отправить скажем file.zip будет что-то вроде Код:
<?PS давненько что-то меня тут не было :) |
Ув. Илья!
Привет!!! Подсказал капитально, но вопрос требует продолжения! =) Мне нужно что бы файл не указывался явным образом, а подставлялся с помощью <input type="file" name="file"> Подскажи пожалуйста!!! |
HI !
Ну тогда можно сказать что-то вроде Код:
<?PS Только не советую использовать встроенную поддержку аплоада в PHP - опасно это.. Через одну такую форму сервер можно повалить по счету раз.. |
Привет!
Все равно не работает. Если мы к примеру пытаемся отправить файл autoexec.bat c диска C:\ то пишет: Warning: fopen("\\php2","r") - Unknown error in f:\www\file.php3 on line 10 Warning: Unable to find file identifier 0 in f:\www\file.php3 on line 11 Warning: Unable to find file identifier 0 in f:\www\file.php3 on line 12 |
Hi !
значит просто сервер не настроен или неправильно прописана upload_tmp_dir в php.ini :) А вообще если кто забыл, то у меня дурацкая привычка есть проверять как работает, перед тем как говорить :) |
Привет!
Илья ну если уж начали такую тему, давай попробуем закончить =) Что мне нужнл прописать в php.ini или какой каталог указать для upload ??? Если можешь покажи свои настройки, меня интересуют только касающиеся отправки файлов. Еще там вот у тебя функции: $file_pointer = fopen ($userfile, "r"); $file_contents = fread ($file_pointer, filesize ($userfile)); 1. Зачем открывать файл??? 2. У нас же переменная $userfile равна не какому то файлу, а полному пути к файлу, включая диски и директории. Если не сложно, помоги пожалуйста разобраться, ну сильно уж надо сделать такую форму!!! |
Hi !
Ну раз так, тогда и я не понимаю зачем что-то делать под win32 ? :) Или это не для реальных задач а только в целях изучения ? Ну а если изучения, то под windows все намного сложнее. Во первых нету родных нормальных средств отправки почты. По моему самое человеческое что можно найти это Advanced Direct Remailer, но его нужно ставить отдельно. Во вторых большинство версий php для win32 имеет массу проблем с автоматическим удалением временных файлов созданных при аплоаде, поэтому на них лучше на всякий случай вручную натравливать сначала move_uploaded_file , а потом unlink. В третьих в переменную $userfile используемую в скрипте поступает полный путь к временному файлу с довольно большой задержкой и вполне вероятен случай когда скрипт отработал получае файла, сохранил его в виде временного файла, а переменная $userfile еще пуста. И до кучи $HTTP_POST_FILES['userfile']['tmp_name'] вообще почти никогда под windows ничего не содержит, даже в самом конце работы скрипта. Под *nix подобных проблем кстати не было никогда :) Ну а что касается php.ini, то у меня например там написано [mail function] SMTP = localhost; и file_uploads = On; upload_tmp_dir = c:/temp; upload_max_filesize = 1M; это с учетом установленного ADR :) А открываем и читаем файлпотому что нам нужно отправить по почте содержимое файла, а не путь к нему :) |
| Часовой пояс GMT +4, время: 10:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.