Аргерих Л. О языке РНР. Часть 5. Страница 127


$white = ImageColorAllocate($i, $red ImageColorAllocate($i, Sblack ImageColorAllocate($i,

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

ImageFilledRectangle($i, 3, 3, SimgWidth, SimgHeight; Sblack); ImageFilledRectangle($i, 0, 0, $imgWidth-3, SimgHeight-3, $red);

Исходя из центральной точки, определяем область, в которой мы начнем ри­совать:

$textX = SimgMidX - (SstringWidth / 2) + 1; $textY = SimgMidY - ($charHeight / 2);

Нарисуем число. Второй параметр задает один из встроенных шрифтов GD (может иметь значение от 1 до 5):

ImageString($i, 4, $textX, $textY, {number, Sblack); Выведем изображение в файл PNG:

ImagePng($i, Simage); Наконец, возвращаем путь к нему для тега <img>: return Simage;

>

Теперь нам остается только обратиться к изображению в нашем файле HTML:

Где-то в конце страницы надо поместить изображение в файл HTML. Это де­лается так (в предположении, что журнал регистрации посещений находит­ся в файле hitlog. txt):

- <?php include("counter, php");

echo("We've had " . hitCount("hitlog.txt") . "visitors!"); ? >

<br>

<!--Если необходимо, то другое содержимое

</body> </html>

Резюме

В данной главе были рассмотрены некоторые из многочисленных расшире­ний базового языка РНР. Мы узнали, как посредством PDFlib создавать до­кументы PDF, применяя Ming, создавать динамические файлы Shockwave Flash, с помощью HAWHAW предоставлять пользователям беспроводных устройств возможность просматривать наши сайты и средствами библиоте­ки GD создавать динамические изображения. Эти (и многие другие) библио­теки позволяют удовлетворить потребности едва ли не каждого пользовате­ля в Интернете.


26

Система пользовательских полномочий

В сложных многопользовательских приложениях часто требуется, чтобы од­ни пользователи (например, менеджеры) могли выполнять действия, недо­ступные другим пользователям (например, служащим, занятым вводом дан­ных). В данном примере мы создадим универсальную систему управления полномочиями пользователей. На этой системе можно построить любое при­ложение РНР, в котором пользователи могут быть индивидуально иденти­фицированы.

Определение технических требований

Для того чтобы разработать приложение, необходимо полностью разобрать­ся с тем, какие возможности оно предположительно должно иметь. Опреде­лить технические требования к программе лучше всего путем интенсивного общения с ее предполагаемыми пользователями. Часто с приложением рабо­тают пользователи нескольких типов. В случае приложения сетевого аукци­она это покупатели и продавцы. С сайтом розничной торговли могут рабо­тать покупатели, посредники и менеджеры. На многих сайтах есть того или иного рода администратор, контролирующий работу собственно сайта.