скрипты pHP

Сервер Apache.

Данный раздел сайта создан, отлажен и протестирован на домашнем компьютере с установленным сервером Apache, Perl, PHP, SendMail, MySQL, phpMyAdmin. Подробную информацию об установке и проверке работоспособности этих программных продуктов вы можете найти на страницах сайта.

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

Директивы SSI

SSI - Server-Side Includes, включения на стороне сервера - набор команд, позволяющий значительно дополнить содержимое вашего ресурса необходимой информацией.

Perl скрипты.

Скрипты написанные на языке- интерпретаторе Perl не являются исполняемыми программами, содержащими описания данных и алгоритмы решения задачи, переведенные в инструкции на машинных кодах. Поэтому, для его выполнения, требуется интерпретатор, переводящий инструкции Perl из текстового формата в двоичный и, затем, выполняющих их на стороне сервера.

PHP скрипты.

PHP (PHP: Hypertext Preprocessor) - интерпретируемый язык программирования веб-приложений, код которого непосредственно включается в текст HTML- документов. Исполняется как модуль Apache (SAPI) или CGI-программа на стороне сервера. После обработки интерпретатором PHP, сервер заменяет код PHP результатом его выполнения и передает на браузер. Клиент получает сгенерированную PHP-скриптом страницу HTML (PDF, Flash, XML, PNG и др.).

 

Переписав или создав самостоятельно страницы сайта, аналогичные приведенным в этом разделе и разместив их в каталоге -

C:/httpserver.ru/www/

(если устанавливали сервер Apache по приведенным здесь рекомендациям), вы получите главный сайт сервера Apache. Он будет установлен на последних, доступных в настоящее время версиях серверных программных продуктов:
Apache 2.2.14,
ActivePerl-5.8.8.824,
PHP 5.2.8,
MySQL 6.0,
phpMyAdmin 2.11.6

Таким образом, вы будете иметь самое современное серверное программное обеспечение, какое не сможет вам предоставить ни один хостинг-провайдер.

Ниже вы видите календарь. Это результат выполнения Perl скрипта, вызванного директивой:
<!--#include virtual="/cgi-bin/calendar.cgi"-->



Главный сайт сервера Apache - скрипты php.

Так как, механизма SSI (Server Side Include - включения на стороне сервера) бывает недостаточно, то для сложных задач рекомендуется использование PHP.
PHP (PHP: Hypertext Preprocessor) - интерпретируемый язык программирования веб-приложений, код которого непосредственно включается в текст HTML- документов и имеющий много общего с C, Java и Perl. Исполняется как модуль Apache (SAPI) или CGI-программа на стороне сервера. После обработки интерпретатором PHP, сервер заменяет код PHP результатом его выполнения и передает на браузер. Клиент получает сгенерированную PHP-скриптом страницу HTML (PDF, Flash, XML, PNG и др.). PHP был создан специально для разработки Web-приложений. Начиная с пятой версии, PHP наряду с процедурным, включает некоторые механизмы поддерживающие философию объектно-ориентированного программирования (ООП), которая в предыдущих версиях была только обозначена.
Возможности PHP не ограничиваются только генерацией HTML-страниц. Имеется механизмы для формирования изображений, PDF и Flash (используя libswf и Ming) файлов, выдачи любых текстовых данных. PHP также способен автоматически генерировать и сохранять их в файловой системе сервера, организуя кеш динамического содержания, расположенный на сервере.

Чтобы отлаживать созданные вами или готовые php скрипты, на локальном (домашнем) компьютере, необходимо установить:

Apache HTTP Server 2.2.14

 Apache HTTP Server 2.2.14 
apache
Следуя, приведенным рекомендациям, вы получите
рабочий сервер Apache 2.2.14

Подробная информация по установке, на страницах: Apache — этапы установки и Apache 2.2.14 — установка.

и интерпретатор PHP из PHP 5.2.8 zip package

 PHP 5.2.8  
знак php
Следуя, приведенным рекомендациям, вы установите
интерпретатор PHP

Подробная информация по установке, на страницах: установка PHP 5.2.8 zip и установка PHP 5.2.8 installer.

После установки и проверки работоспособности сервера Apache и интерпретатора PHP,
можно приступать к созданию и тестированию скриптов php.


Создайте страницу с расширением .php, например - index.php
и включите в неё строку:

<?php echo 'Вы уже используете скрипты на языке PHP'; ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>скрипт php</title>
</head>
<body>
<p><?php echo 'Вы уже используете скрипты на языке PHP'; ?></p>
</body>
</html>

Результат выполнения:

Вы уже используете скрипты на языке PHP


Скрипт php - текущая дата и время.

Код php скрипта, выводящего информацию о текущей дате и текущее время:

Добавьте в страницу index.php следующий код:


<?php
function date_time ($date, $time=0) {
$time = time();
$date = " l F, j Y - H:i:s";
$clock = date($date, $time);
return $clock;
}
?>
Сегодня: <?php echo date_time(""); ?>

Результат выполнения:

Сегодня: Friday September, 22 2017 - 03:43:24


Скрипт  php - простой счетчик посещений.

Код php скрипта, выводящего информацию о количестве посетителей:

Добавьте в страницу - index.php следующий код:

<p><?php include( "phpcount.php" ); ?></p>

Затем создайте страницу - phpcount.php и запишите код php, приведенный ниже. На странице должен быть только этот код.

1   <?php
2     error_reporting(E_ALL ^ E_NOTICE);
3     $filedata = 'count.txt';
4     if ( !file_exists( $filedata ) ) {
5     die (' Ошибка в файле phpcount - строка 3! Невозможно открыть файл статистики - count.txt');
6     } elseif ( !is_writable( $filedata ) ) {
7     if ( $windows ) { chmod( $filedata,777 ); } else { chmod( $filedata,O777 ); }
8     }
9     $FILE = fopen( "$filedata", "r" );
10   $count = fread( $FILE, filesize( "$filedata" ) );
11   fclose($FILE );
12   $FILE = fopen( "$filedata", "w" );
13   $count++;
14   fwrite( $FILE, $count );
15   fclose( $FILE);
16   echo 'Посетителей &nbsp;-&nbsp;'; echo $count;
17   ?>

Для записи количества посетителей нужно создать пустой текстовый файл с именем - count.txt. (См. строку 3 скрипта -     $filedata = 'count.txt';).
Файлы: phpcount.php и count.txt должны находиться в том же каталоге, что и файл - index.php.

Результат выполнения:

Warning: fread(): Length parameter must be greater than 0 in /home/virtwww/w_avege-ru_426a88c6/http/russian/tempsite/php/phpcount/phpcount.php on line 10 Посетителей  - 


Если вам необходимо вывести одну или несколько переменных окружения, то выберите и вставьте строку кода php.

<?php  $ret = apache_getenv("HTTP_HOST"); echo $ret; ?>
<?php $ret = apache_getenv("HTTP_ACCEPT"); echo $ret; ?>
<?php $ret = apache_getenv("HTTP_ACCEPT_LANGUAGE"); echo $ret; ?>
<?php $ret = apache_getenv("HTTP_ACCEPT_CHARSET"); echo $ret; ?>
<?php $ret = apache_getenv("HTTP_ACCEPT_ENCODING"); echo $ret; ?><?php $ret = apache_getenv("HTTP_CONNECTION"); echo $ret; ?>
<?php $ret = apache_getenv("PATH"); echo $ret; ?>
<?php $ret = apache_getenv("SystemRoot"); echo $ret; ?>
<?php $ret = apache_getenv("COMSPEC"); echo $ret; ?>
<?php $ret = apache_getenv("PATHEXT"); echo $ret; ?>
<?php $ret = apache_getenv("WINDIR"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_SIGNATURE"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_SOFTWARE"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_NAME"); echo $ret; ?>
<?php $ret = apache_getenv("WINDIR"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_PORT"); echo $ret; ?>
<?php $ret = apache_getenv("REMOTE_ADDR"); echo $ret; ?>
<?php $ret = apache_getenv("WINDIR"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_ADMIN"); echo $ret; ?>
<?php $ret = apache_getenv("SCRIPT_FILENAME"); echo $ret; ?>
<?php $ret = apache_getenv("REMOTE_PORT"); echo $ret; ?>
<?php $ret = apache_getenv("GATEWAY_INTERFACE"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_PROTOCOL"); echo $ret; ?>
<?php $ret = apache_getenv("REQUEST_METHOD"); echo $ret; ?>
<?php $ret = apache_getenv("QUERY_STRING"); echo $ret; ?>
<?php $ret = apache_getenv("REQUEST_URI"); echo $ret; ?>
<?php $ret = apache_getenv("SCRIPT_NAME"); echo $ret; ?>
<?php $ret = apache_getenv("PHP_SELF"); echo $ret; ?>
<?php $ret = apache_getenv("REQUEST_TIME"); echo $ret; ?>
<?php $ret = apache_getenv("Path"); echo $ret; ?>
<?php $ret = apache_getenv("PATHEXT"); echo $ret; ?>

Пример вывода вышеперечисленных переменных окружения.

Имя Описание
HTTP_HOST www.avege.ru
HTTP_ACCEPT_LANGUAGE ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
HTTP_ACCEPT_CHARSET windows-1251,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING gzip,deflate
HTTP_CONNECTION keep-alive
PATH C:\Perl\bin;C:\usr\site\bin;C:\usr\bin;C:\program files\common files\Siemens\Sqlany;C:\Program Files\Siemens\Step7\S7bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\usr\php;
SystemRoot C:\WINDOWS
COMSPEC C:\WINDOWS\system32\cmd.exe
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
WINDIR C:\WINDOWS
SERVER_SIGNATURE
Apache/2.2.14 (Win32) PHP/5.2.8 Server at www.avege.ru Port 80
SERVER_SOFTWARE Apache/2.2.14 (Win32) PHP/5.2.8
SERVER_NAME www.avege.ru
SERVER_ADDR C:\WINDOWS
SERVER_PORT 80
REMOTE_ADDR 127.0.0.4
DOCUMENT_ROOT C:\WINDOWS
SERVER_ADMIN webmaster@avege.ru
SCRIPT_FILENAME C:/www/docs/avege.ru/www/russian/tempsite/php/index00.php
REMOTE_PORT 3865
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING
REQUEST_URI /russian/tempsite/php/index00.php
SCRIPT_NAME /russian/tempsite/php/index00.php
PHP_SELF
REQUEST_TIME
_ENV[Path] C:\Perl\bin;C:\usr\site\bin;C:\usr\bin;C:\program files\common files\Siemens\Sqlany;C:\Program Files\Siemens\Step7\S7bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\usr\php;
_ENV[PATHEXT] .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

Скрипт  php - вывод версий программного обеспечения сервера.

Код php скрипта, выводящего информацию о версиях ОС, PHP, Apache:

<?php
$os = @PHP_OS;
$php = phpversion();
$soft = getenv("SERVER_SOFTWARE");
$name1 = $_SERVER['SERVER_NAME'];
echo "ОС: $os<br />";
echo "Версия php: $php<br />";
echo "Программное обеспечение сервера: $soft<br />";
echo "Имя сервера: $name<br />";
?>

Результат выполнения:

ОС: Linux
Версия php: 5.5.15
Программное обеспечение сервера: Apache/2.2.17 (Unix) PHP/5.5.15
Имя сервера: avege.ru


Получение рабочего сервера Apache.

Чтобы получить полноценный http server apache, необходимо установить: apache, php, mysql, perl, apache, phpmyadmin, sendmail. Для этого необходимо: скачать apache, скачать perl, скачать php, скачать mysql, скачать phpmyadmin. Это монжно сделать нажав на нужную ссылку ниже.
Для превращения компьютера в полноценный сервер принято устанавливать следующие пакеты программного обеспечения:
При условии, что у вас имеются:
httpd conf - главный сайт сервера apache

apache

perl

php

phpmyadmin

mysql

sendmail

  Apache_2.2.14-win32-x86-.msi - скачать apache
  PHP 5.2.8 zip package - скачать php
  phpMyAdmin 2.11.6 - скачать phpmyadmin
  MySQL 6.0 - скачать mysql
  SendMail 3.10 - скачать sendmail
если выполнить следующее:
Установить
Переписать архивы файлов конфигурации:
 конфигурации Apache 2.2.x
 файла - host
Переписать шаблоны:
 главного сайта сервера
 двух сайтов виртуальных хостов на основе имени и двух сайтов виртуальных хостов на основе IP адресов
И вы будете иметь самое современное серверное программное обеспечение.

Директивы SSI, скрипты Perl и PHP.

На страницах этого раздела сайта вы можете ознакомиться, на работающих примерах, с включениями в веб-страницы директив SSI, perl и php скриптов.

опубликовано - август 2003 г.
обновлено -
Valid CSS!
Valid XHTML 1.1
Warning: include(/var/www/avege/data/www/avege.ru/count0308.shtml): failed to open stream: No such file or directory in /home/virtwww/w_avege-ru_426a88c6/http/russian/tempsite/php/index.php on line 114 Warning: include(): Failed opening '/var/www/avege/data/www/avege.ru/count0308.shtml' for inclusion (include_path='.:') in /home/virtwww/w_avege-ru_426a88c6/http/russian/tempsite/php/index.php on line 114