$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
Система пользовательских полномочий
В сложных многопользовательских приложениях часто требуется, чтобы одни пользователи (например, менеджеры) могли выполнять действия, недоступные другим пользователям (например, служащим, занятым вводом данных). В данном примере мы создадим универсальную систему управления полномочиями пользователей. На этой системе можно построить любое приложение РНР, в котором пользователи могут быть индивидуально идентифицированы.
Определение технических требований
Для того чтобы разработать приложение, необходимо полностью разобраться с тем, какие возможности оно предположительно должно иметь. Определить технические требования к программе лучше всего путем интенсивного общения с ее предполагаемыми пользователями. Часто с приложением работают пользователи нескольких типов. В случае приложения сетевого аукциона это покупатели и продавцы. С сайтом розничной торговли могут работать покупатели, посредники и менеджеры. На многих сайтах есть того или иного рода администратор, контролирующий работу собственно сайта.