Чего вожделеет каждый веб-мастер, создав на странице форму? Да, отправить ее содержимое себе по почте. А сделать это на PHP очень просто - есть функция mail($to,$subj,$body, $header). Но есть и тонкость: почта будет уходить от имени www-сервера (как пользователя). Не забывайте, пожалуйста, про четвертый аргумент $header, в котором вы можете указывать любой параметр заголовка письма (см. RFC-822):
mail('user@isp.ru','test message','Выполучили письмо', "From: bill@gates.ru\nContent-type: text/plain; charset=windows-1251");
Указывайте хотя бы From: и Content-type: - это предохранит вас от раздраженных получателей писем или, если получаете вы, от получения писем в непонятной кодировке неизвестно от кого.
Одно время у провайдеров были популярны системы чтения/отправки электронной почты с www-сайта. На PHP вы можете сделать то же самое. Достаточно лишь почитать описание протоколов POP и IMAP и открыть сетевое соединение с почтовым сервером. Функция fsockopen(хост, порт) открывает сетевое соединение, а пользоваться им можно при помощи обычных файловых функций. Только не открывайте соединение к своему www-серверу и не запрашивайте свой же скрипт - веб-мастеру это может сильно не понравиться. В целом работа с сетью в PHP оставляет желать лучшего - надеюсь, многие изъяны будут исправлены в четвертой версии. В первую очередь не хватает функции select() или аналога соответствующему вызову POSIX. Сетевое соединение - это не совсем файл, оно может прерваться, другая программа может не закрыть соединение и завершиться/зависнуть и т. п. Функция select() позволяет сделать работу с сетью более надежной. Подождем.
О корректной работе PHP
Не следует забывать еще про одно сетевое соединение - соединение клиента с веб-сервером, во время которого выполняется скрипт. Представьте себе ситуацию, когда ваш скрипт обрабатывает сложный запрос, что-то читает из базы, пишет в файл, изменяет данные в базе и т. д., а во время этого процесса клиент нажал кнопку «Стоп» и разорвал соединение. Процесс работы вашей программы будет прерван в самый неожиданный момент, и обработка не будет завершена. Но частично-то работа проделана. Необходимо как-то откатить назад внесенные изменения. Для этого в PHP встроен механизм контроля за соединением. Вы можете подготовить функцию аварийной остановки с помощью register_shutdown_function(функция). Заданная функция вызывается интерпретатором PHP при завершении работы скрипта. Сетевое соединение в PHP находится в следующих состояниях:
0 - NORMAL;
1 - ABORTED;
2 - TIMEOUT.
![]()
PHP и mysql начинаем работать с базами данных
PHP и MySQL. Сортировка и вывод данных.
Динамическая смена изображений
Программное управление звуком во flash
Пять причин не использовать флэш
Если вам нужен интернет-сайт - создание сайта ТМГ-1600 нумизматика полтинники Электрические штабелеры автомобили chevrolet aveo Автомобили ваз автобетономешалки грузовой тягач. хостинг интернет-магазин
![]()
Что мне нужно, чтобы начать работать с PHP?
Настройка параметров PHP в php.ini
![]()
Сайт о вёрстке сайтов с помощью PHP и SWF