Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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 (любаяпеременная).
|