Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Настройка почты





При использовании в качестве локального веб-сервера Denwer, все письма с локального сайта отправлялись в папку sendmail, это достаточно удобно, но в XAMPP такой функции не предусмотрено, в XAMPP есть собственный почтовый сервер, но он потребует немало времени, чтобы с ним разобраться.

С помощью описанной ниже инструкции, можно создать такую же "заглушку" как и в Denwer.

 

1. В папке sendmail (C:\xampp\sendmail) создадим файл sendmail.php с кодом:

<?php

define('DIR','c:/xampp/tmp/sendmail/');

$stream = '';

$fp = fopen('php://stdin','r');

while($t=fread($fp,2048))

{

if($t===chr(0))

break;

$stream.= $t;

}

fclose($fp);

$fp = fopen(mkname(),'w');

fwrite($fp,$stream);

fclose($fp);

 

function mkname($i=0)

{

$fn = DIR.date('Y-m-d_H-i-s_').$i.'.eml';

if (file_exists($fn))

return mkname(++$i);

else return $fn;

}

?>

 

Предполагается получение писем в кодировке UTF-8, если требуется получать письма в в кодировке CP1251, то необходимо замените строчку:

 

fwrite($fp,$stream);

 

на строчку:

 

fwrite($fp,iconv("UTF-8","CP1251",$stream));

 

2. В файле php.ini (C:\xampp\php) заменяем строчку:

 

sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"

 

на строчку:

 

sendmail_path = C:\xampp\php\php.exe c:\xampp\sendmail\sendmail.php

 

Строка должна быть раскомментирована (убрать символ точки с запятой ";" в начале строки).

 

3. Создаем папку sendmail в папке tmp (C:\xampp\tmp\sendmail).

 

4. Перезапускаем сервер Apache и теперь все отправленные письма будут в папке C:\xampp\tmp\sendmail.

 

В заключении этого раздела проанализируем информацию о настройках веб-сервера и PHP с помощью встроенной функции phpinfo(), запустив следующий скрипт:

 

<?php

phpinfo();

?>

 

В результате будет предоставлена полная информация о характеристиках установленной версии языка и веб-сервера (рис. 3).

 

 

Рис. 3. Информация о настройках, предоставленная phpinfo()

 

В частости среди настроек в PHPVariables представлены:

 

_SERVER["SERVER_NAME"] localhost

_SERVER["SERVER_ADDR"] 127.0.0.1

_SERVER["SERVER_PORT"] 80

_SERVER["REMOTE_ADDR"] 127.0.0.1

_SERVER["DOCUMENT_ROOT"] C:/xampp/htdocs

_SERVER["CONTEXT_DOCUMENT_ROOT"] C:/xampp/htdocs

_SERVER["SCRIPT_FILENAME"] C:/xampp/htdocs/ex001.php

_SERVER["REMOTE_PORT"] 1034

_SERVER["GATEWAY_INTERFACE"] CGI/1.1

_SERVER["SERVER_PROTOCOL"] HTTP/1.1

_SERVER["REQUEST_METHOD"] GET

 

Значения имени (loalhost), адреса (127.0.0.1) и порта (80) сервера.Корневой директорий (C:/xampp/htdocs) для размещения сайтов. Имя скрипта (C:/xampp/htdocs/ex001.php), запустившего функцию phpinfo(), версия протокола HTTP/1.1 и интерфейса CGI/1.1.

 

3. Синтаксиси программные единицыPHP

Подробное и полное описание синтаксиса языка РНР можно найти во множестве доступных источников. В этом разделе представлены лишь самые необходимые сведения для решения предлагаемых ниже задач.

Классический пример простейшей программы, которая выводит на экран фразу «Hello, World!», на языке РНР может выглядеть так:

 

<?php echo "Hello, World!";?>

 

Имена всех переменных в РНР обязательно начинаются с символа $, а их тип обнаруживается интерпретатором автоматически. Например:

 

$x = 25; // $x переменная типа integer$y = 25.0; // $y переменная типа float$z = "25"; // $zпеременной типа string$u = true; // $uпеременная типа boolean Для вывода на экран значений переменных надо в операторе echoили printиспользовать двойные кавычки, как показано примере 1: Пример 1. Использование кавычек в операторах вывода <?php$a = "Переменная по имени а."; echo "Hello, World! Echo. $a<br>"; echo 'Hello, World! Echo. $a<br>'; print "Hello, World! Print. $a<br>"?> В результате выполнения фрагментапримера 1 браузер отобразит следующие три строки (тег <br>обеспечивает перевод строки): Hello, World! Echo. Переменная по имени а.Hello, World! Echo. $aHello, World! Print. Переменная по имени а. Область видимости переменной может быть глобальной или локальной. Пример 2 поясняет это. Пример 2. Область действия переменных

<?php

$a=1; $b=2; // глобальные переменные

function Sum () {

$a=-1; $b=-2;// локальные переменные

$a += $b;

echo "Сумма локальных переменных: $a<br>";

global $a,$b;

$a += $b;

echo "Сумма глобальных переменных: $a<br>";

}

Sum();

?>

 

В результате выполнения фрагмента примера 2 браузер отобразит следующий результат: Сумма локальных переменных: -3Сумма глобальных переменных: 3

 

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

Для создания констант используется функцияdefine(“имя константы”, “значение константы”):

 

define("PORT", "443");

 

При работе со строковыми переменными для соединения двух или более строковых значений в одну строку используетсяточка (.):

 

$a = "Дважды "; $b = "два";$c = $a.$c;echo "$a.$b"; // выведет Дважды два

 

Оператор условийifв PHP имеет несколько реализаций. Обычнаяформаif:

if($name == "sasha") echo "Привет, Саша!"; else echo "Вы кто?";

 

Вторая форма, удобна в том случае, если необходимо вставить HTML-код:

<?php if($s == "yes"):?> <h1>Поздравляем!</h1><?php endif;?>

 

В качестве переключателя удобно использовать оператор switch, очень похожий на эквивалентный оператор в C++.

switch($what) { case 33: echo "what is 33"; break; case "sun": echo "what is sun"; break; default: echo "what is unknown"; }

Как видно из этого примера, у оператора switchв РНР больше возможностей, чем в С++. И еще один пример, который показывает существенное отличие данного оператора в PHP от эквивалентного в С++:

switch ($var) { case $a: echo "значение var совпадаетс a"; break; case $b:echo "значение var совпадаетс b"; break;}

Для организации циклов в PHP можно использовать оператор while. Он имеет два вида - привычный while()

 

$a=0; while($a <100) { $a++; echo $a; } и while(): endwhile; $a=0; while($a <100): $a++; echo $a; endwhile;

Также есть оператор do { } while(), использование которого нет нужды подробно объяснять.И последний оператор - for опять таки имеет две формы:

 

for($i = 0; $i< 10; $i++){ echo ($i); } или for($i = 10; $i > 0; $i--): echo ($i);endfor;

Семейство функций is..()

 

Функция isset() используется для определения, присвоено ли переменной какое-либо значение. Если значение присвоено, функция возвращает true: if (isset($a)) echo “$a”;

Функция unset()используется для уничтожения переменных, при этом освобождается вся оперативная память, связанная с переменными:

 

void unset (любая переменная [, любая переменная [,...]])

 

Функции is_int(), is_integer() и is_long() определяют, является ли переменная целым числом:

 

bool is_int (любая переменная); bool is_long (любая переменная); bool is_integer (любая переменная).

Функции is_double(), is_float()и is_real() определяют, является ли переменная числом с плавающей запятой:

 

bool is_double (любаяпеременная); bool is_float (любая переменная); bool is_real (любая переменная).

 

Функция is_string() определяет, является ли переменная строкой:

 

boolis_ string (любаяпеременная).

Date: 2015-07-22; view: 332; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию