Работа с изображениями


Пример: Создание пустого изображения, заполнение его белым цветом, вывод текста на созданное изображение и вывод изображения в браузер в формате PNG.
Обратите внимание, что текст для вывода можно задавать с помощью параметра GET в адресной строке скрипта.

header("Content-type: image/png");

$im = imagecreatetruecolor(400, 30);

$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

if(!isset($_GET['text']){
$text = 'Text...';
}else{
$text = $_GET['text'];
}
$font = 'BOOKOS.TTF';

imagettftext($im, 20, 0, 14, 24, $grey, $font, $text);
imagettftext($im, 20, 0, 11, 21, $black, $font, $text);

imagepng($im);
imagedestroy($im);


Пример: Загрузка изображения из файла и применение к нему эффекта скручивания.

$image = imagecreatefrompng('tsi.png');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);


Работа с регулярными выражениями:

Пример: проверка текста на наличие корректного web адреса.

$str = "http://wwwdomencom";
$pattern = "^(http|ftp|https)://(www\.)?.+\.([a-zA-Z]{2,7})$^";
echo preg_match ($pattern,$str)."<br />";


Работа с сессиями

Пример: Создание новой сессии, в случае, если она не была создана ранее

if(!session_id()){session_start();}

Пример: Работа с переменными в сессии.

$_SESSION[‘curLng’] = “eng”;
echo $_SESSION[‘curLng’];


Упражнения


Работа с изображениями
•Надо взять файл с картинкой и используя функции РНР написать на нём свою фамилию (кириллицей) в нижней части изображения. Использовать шрифт 12 размера и отличный от чёрного цвет. Также использовать для этого шрифт из TTF файла).

Работа с регулярными выражениями
•Создать переменную, содержащую произвольный текст, в произвольном месте этого текста должны присутствовать ноль или более адресов электронной почты. Проверить эту строку на наличие электронного адреса с использованием следующего шаблона регулярного выражения: /^([a-zA-Z0-9\._\+-]+)\@((\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,7}|[0-9]{1,3})(\]?))$/ (для проверки синтаксиса электронного адреса можно использовать много различных вариантов регулярных выражений, в данном случае просто используется один из них) как вариант возможно использовать следующее выражение: /[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i
•Ввести другой текст, содержащий ноль или более телефонных номеров в формате ххх-хх-хх (где х – любая произвольная цифра). Проверить наличие телефонных номеров во введённом тексте используя следующий шаблон регулярного выражения: /\d{3}-\d{2}-\d{2}/m

Работа с cookies
Задать cookie с использованием следующей функции:

setcookie("curLng", "eng", time()+3600);

проверить наличие cookies переменной curLng и если она определена, то вывести сообщение о том, что текущий язык установлен на основе значения из Cookie.

$_COOKIE["curLng "];

Работа с сессиями
Создать сессию, занести в неё значение visits равное 1. Если сессия уже создана, то нужно увеличить значение visits на 1. И вывести полученное значение, с текстом: Обновление страницы номер №: n, где n – значение из сессии visits.
Hosted by uCoz