Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Ответы на вопросы по Web программированию - файл 1.doc


Ответы на вопросы по Web программированию
скачать (150.5 kb.)

Доступные файлы (1):

1.doc151kb.16.11.2011 02:34скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...

  1. Наследование свойств класса в PHP. Пример.

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

Для использования механизма наследования в PHP необходимо в объявлении класса после имени объявляемого класса-наследника указать слово extends и имя класса-предка:

class Descendant extends Ancestor { }

//В случае перекрытия классом-наследником свойств и методов предка, доступ к свойствам и методам предка можно получить с использованием ключевого слова parent:

class A { function example() {

echo "Вызван метод A::example().<br />\n"; } }

class B extends A { function example() {

echo "Вызван метод B::example().<br />\n";

parent::example(); }}


  1. Назначение переменной $ this. Пример.

Для доступа к членам класса из его методов используется переменная $this.

class C1 extends C2 implements I1, I2

{private $a;

protected $b;

function __construct($a, $b)

{parent::__construct($a, $b);

$this->a = $a;

$this->b = $b; }

public function plus()

{return $a + $b;}}

$d = new C1(1, 2);

echo $d->plus();




  1. Опишите основные функции по работе с файлами: чтение, запись, определение времени создания. Приведите примеры.

r

Только чтение. Указатель текущей позиции устанавливается в начало файла

r+

Чтение и запись. Указатель текущей позиции устанавливается в начало файла

w

Только запись. Указатель текущей позиции устанавливается в начало файла, а все содержимое файла уничтожается. Если файл не существует, функция пытается создать его

w+

Чтение и запись. Указатель текущей позиции устанавливается в начало файла, а все содержимое файла уничтожается. Если файл не существует, функция пытается создать его 

a

Только запись. Указатель текущей позиции устанавливается в конец файла. Если файл не существует, функция пытается создать его

a+

Чтение и запись. Указатель текущей позиции устанавливается в конец файла. Если файл не существует, функция пытается создать его



^ Открытие/закрытие файла:

Функция fopen( ) открывает файл (если он существует) и возвращает целое число -- так называемый файловый манипулятор (file handle). Синтаксис функции fopen( ):

int fopen (string файл, string режим [, int включение_пути])

$file = "userdata.txt"; // Некоторый файл

$fh = fopen($file, "a+") or die("File ($file) does not exist!");

fclose ( )

Функция fclose( ) закрывает файл с заданным манипулятором. При успешном закрытии возвращается TRUE, при неудаче -- FALSE. Синтаксис функции fclose( ):

int fclose(int манипулятор)

Функция fclose( ) успешно закрывает

ПРИМЕР:

$file = "userdata.txt";

if (file_exists($file)) :

$fh = fopen($file, "r");

// Выполнить операции с файлом

fclose($fh);

else :

print "File Sfile does not exist!";

endif;


^ Запись в файл

fwrite ( )

Функция fwrite( ) записывает содержимое строковой переменной в файл, заданный файловым манипулятором. Синтаксис функции fwrite( ):

int fwrite(int манипулятор, string переменная [, int длина])

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

$data = "08:13:00|12:37:12|208.247.106.187|Win98";

$filename = "somefile.txt";

// Если файл существует и в него возможна запись

if ( is_writeable($filename) ) :

// Открыть файл и установить указатель текущей позиции в конец файла

$fh = fopen($filename, "a+");

// Записать содержимое $data в файл

$ success - fwrite($fh, $data);

// Закрыть файл

fclose($fh);


fputs( )

Функция fputs( ) является псевдонимом fwrite( ) и имеет точно такой же синтаксис. Синтаксис функции fputs( ):

int fputs(int манипулятор, string переменная [, int длина])


^ Функции для чтения из файла

fread( )

Функция fread( ) читает из файла, заданного файловым манипулятором, заданное количество байт. Синтаксис функции fwrite( ):

int fread(int манипулятор, int длина)

Манипулятор должен ссылаться на открытый файл, доступный для чтения. Чтение прекращается после прочтения заданного количества байт или при достижении конца файла.ПРИМЕР:

$fh = fopen('pastry.txt', "r") or die("Can't open file!");

$file = fread($fh, filesize($fh));

print $file;

fclose($fh);

Используя функцию fllesize( ) для определения размера pastry.txt в байтах, вы гарантируете, что функция fread( ) прочитает все содержимое файла.

fgetc( )

Функция fgetc( ) возвращает строку, содержащую один символ из файла в текущей позиции указателя, или FALSE при достижении конца файла. Синтаксис функции fgetc( ):

string fgetc (int манипулятор)

Манипулятор должен ссылаться на открытый файл, доступный для чтения (см. описание функции is_readable( ) ранее в этой главе). В следующем примере продемонстрированы посимвольное чтение и вывод файла с использованием функции fgetc( ):

$fh = fopen("pastry.txt", "r"); while (! feof($fh)) :

$char = fgetc($fh):

print $char; endwhile;

fclose($fh);

fgets( )

Функция fgets( ) возвращает строку, прочитанную от текущей позиции указателя в файле, определяемом файловым манипулятором. Файловый указатель должен ссылаться на открытый файл, доступный для чтения. Синтаксис функции fgets( ):

string fgets (int манипулятор, int длина)

Чтение прекращается при выполнении одного из следующих условий:

  • из файла прочитано длина -- 1 байт;

  • из файла прочитан символ новой строки (включается в возвращаемую строку);

  • из файла прочитан признак конца файла (EOF).

Если вы хотите организовать построчное чтение файла, передайте во втором параметре значение, заведомо превышающее количество байт в строке. Пример построчного чтения и вывода файла:

$fh = fopen("pastry.txt", "r");

while (! feof($fh));

$line = fgets($fh, 4096);

print $line. "<br>";

endwhile;

fclose($fh):

^ Функция определения времени создания файла(в секундах)

filectime


Возвращает время создания файла.

Синтаксис:

int filectime(string $filename)

ПРИМЕР:

<?php
// Пример вывода: Файл somefile.txt в последний раз был изменен: December 29 2002 22:16:23.
$filename = 'somefile.txt';
if (file_exists($filename)) {
echo "Файл $filename в последний раз был изменен: " . date("F d Y H:i:s.",
filectime($filename));}?>


  1. Данные и функции класса. Обращение к данным внутри класса. Пример.

Экземпляр класса - это объект. Объект - это совокупность данных (свойств) и функций (методов) для их обработки. Свойства и методы называются членами класса. Данные описываются с помощью служебного слова var. Метод описывается так же, как и обыкновенная пользовательская функция. Методу также можно передавать параметры. Чтобы получить доступ к членам класса внутри класса, необходимо использовать указатель $this, которы всегда относится к текущему объекту.

ПРИМЕР:

<?php
// Создаем новый класс Coor:
class Coor {
// данные (свойства):
var $name;
// методы:
 function Getname() {
 echo $this->name;}
 function Setname($name) {
 $this->name = $name; }}
// Создаем объект класса Coor:
$object = new Coor;
// Теперь для изменения имени используем метод Setname():
$object->Setname("Nick");
// А для доступа, как и прежде, Getname():
$object->Getname();
// Сценарий выводит 'Nick'
?>


5. Как осуществляется динамическое вызов функции. Пример

В PHP можно использовать динамические функции. Это означает, что если некоторой переменной присвоено имя функции, то с этой переменной можно обращаться точно так же, как с самой функцией.

Пример:

<?php

function funct1 ()

{echo "Мы внутри функции funct1( );<br>";}

function funct2 ()

{echo "Мы внутри функции funct2( );<br>"; }

$myfunct = "funct1";

$myfunct();

$myfunct = "funct2";

$myfunct();

?>

  1. Как ограничить размер файла загружаемого на сервер.Пример.

Для передачи файла, нам понадобиться следующая форма:

<form enctype="multipart/form-data" action="/upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

При этом в поле action должен быть указан URL Вашего php-скрипта, который в дальнейшем будет заниматься обработкой загружаемых файлов. Скрытое поле MAX_FILE_SIZE должно предшествовать полю выбора файла, и содержать максимально допустимый размер файла в байтах. Его назначение - проверка размера файла еще до момента отправки файла на сервер.
  1. Функции работы с датой: получение системного времени, получение даты в виде отформатированного строки массива. Пример.Функция для получения системного времени - localtime()


Синтаксис: array localtime ([int timestamp [, bool is_associative]])

Функция localtime() возвращает массив, аналогичный структуре, возвращаемой соответствующей функцией C. Первым аргументом функции localtime() является метка времени, если этот аргумент не передан, используется текущее время, полученное вызовом функции time(). Если аргумент is_associative не передан или или равен 0, возврачается массив с числовыми индексами. Если этот аргумент равен 1, функция localtime() возврашает ассоциативный массив, содержащий компоненты структуры, возвращаемой функцией C localtime.

Пример:

<?php
print_r(localtime());
echo "<br><br>";
print_r(localtime(time(),1));
echo "<br><br>";
print_r(localtime(10567567,1));
?>

^ 8. Тэги HTML используемые для создания формы, их назначение.

Тег <BUTTON>

Тег <BUTTON> создает на веб-странице кнопки и по своему действию напоминает результат, получаемый с помощью тега <INPUT> (с параметром type="button | reset | submit"). В отличие от этого тега, <BUTTON> предлагает расширенные возможности по созданию кнопок. Например, на подобной кнопке можно размещать любые элементы HTML, в том числе изображения.
^

Синтаксис


<form>
 <button>...</button>
</form>

Параметры


Disabled Блокирует доступ и изменение элемента.

Type Тип кнопки — обычная, для отправки данных формы на сервер или для очистки формы.

Value Значение кнопки, которое будет отправлено на сервер или прочитано с помощью сприптов.

^ Пример . Использование тега <BUTTON>

<html>

<head>

<title>Тег BUTTON</title>

</head>

<body>

<p style="text-align: center"><button>Кнопка с текстом</button>

<button> Кнопка с рисунком</button></p>

</body>

</html>

Тег FIELDSET

Элемент <FIELDSET> предназначен для группирования элементов формы. Такая группировка облегчает работу с формами, содержащих большое число данных. Например, один блок может быть предназначен для ввода текстовой информации, а другой — для флажков.

Браузеры для повышения наглядности отображают результат использования тега <FIELDSET> в виде рамки. Ее вид зависит от операционной системы, а также используемого браузера.
^

Синтаксис


<form> <fieldset>...</fieldset> </form>

Параметры


Title Добавляет всплывающую подсказку к группе формы.

Пример 1. Использование тега <FIELDSET>

<form action="/html/fieldset.html">

<fieldset>

<legend>Работа со временем</legend>

<input type="checkbox"> создание пунктуальности (никогда не

будете никуда опаздывать);<br>

<input type="checkbox"> излечение от пунктуальности (никогда

никуда не будете торопиться);<br>

<input type="checkbox"> изменение восприятия времени и часов.

<p><input type="submit"></p>

</fieldset>

</form>


Тег <FORM>

Тег <FORM> устанавливает форму на веб-странице. Форма предназначена для обмена данными между пользователем и сервером. Область применения форм не ограничена отправкой данных на сервер, с помощью клиентских скриптов можно получить доступ к любому элементу формы, изменять его и применять по своему усмотрению. Документ может содержать любое количество форм, но одновременно на сервер может быть отправлена только одна форма. По этой причине данные форм должны быть независимы друг от друга. Для отправки формы на сервер используется кнопка Submit, Когда форма отправляется на сервер, управление данными передается CGI-программе, заданной параметром action тега <FORM>. Предварительно браузер подготавливает информацию в виде пары «имя=значение», где имя определяется параметром name тега <INPUT>, а значение введено пользователем или установлено в поле формы по умолчанию.

Допускается внутрь контейнера <FORM> помещать другие теги, при этом сама форма никак не отображается на веб-странице, видны только ее элементы и результаты вложенных тегов.
^

Синтаксис


<form action="..."> ... </form>

Параметры


Action Адрес CGI-программы или документа, которые обрабатывает данные формы.

Enctype MIME-тип информации формы.

Method Метод протокола HTTP.

Name Имя формы.

Target Имя окна или фрейма, куда обработчик будет загружать возвращаемый результат.

^ Пример 1. Использование тега <FORM>

<form action="/html/example/handler.php">

<p><input type="radio" name="answer" value="a1">1<Br>

<input type="radio" name="answer" value="a2">2<Br>

<input type="radio" name="answer" value="a3">3</p>

<p><input type="submit"></p>

</form>


Тег <INPUT> является одним из разносторонних элементов формы и позволяет создавать разные элементы интерфейса и обеспечить взаимодействие с пользователем. Главным образом <INPUT> предназначен для создания текстовых полей, различных кнопок, переключателей и флажков.

Основной параметр тега <INPUT>, определяющий вид элемента — type. Он позволяет задавать следующие элементы формы: текстовое поле (text), поле с паролем (password), переключатель (radio), флажок (checkbox), скрытое поле (hidden), кнопка (button), кнопка для отправки формы (submit), кнопка для очистки формы (reset), поле для отправки файла (file) и кнопка с изображением (image). Для каждого элемента существует свой список параметров, которые определяют его вид и характеристики.
^

Синтаксис


<form>   <input ...> </form>

Параметры


Align Определяет выравнивание изображения.

Alt Альтернативный текст для кнопки с изображением.

Border Толщина рамки вокруг изображения.

Checked Предварительно активированный переключатель или флажок.

Disabled Блокирует доступ и изменение элемента.

Maxlength Максимальное количество символов разрешенных в тексте.

Name Имя поля, предназначено для того, чтобы обработчик формы мог его идентифицировать.

Readonly Устанавливает, что поле не может изменяться пользователем.

Ize Ширина текстового поля.

Alue Значение элемента.

^ Пример Использование тега <INPUT>

<form name="test" method="post" action="/html/example/input1.php">

<p><b>Ваше имя:</b><br>

<input name="nick" type="text" size="40">

</p>

<p><b>Каким браузером в основном пользуетесь:</b><Br>

<input type="radio" name="browser" value="ie"> Internet Explorer<Br>

<input type="radio" name="browser" value="opera"> Opera<Br>

<input type="radio" name="browser" value="firefox"> Firefox<Br>

</p>

<p>Комментарий<Br>

<textarea name="comment" cols="40" rows="3"></textarea></p>

<p><input type="submit" value="Отправить">

<input type="reset" value="Очистить"></p>

</form>


Тег <LABEL>

Тег <LABEL> устанавливает связь между определенной меткой, в качестве которой обычно выступает текст, и элементом формы ^ INPUT. Такая связь необходима, чтобы изменять значения элементов формы при нажатии курсором мыши на текст. Кроме того, с помощью <LABEL> можно устанавливать горячие клавиши на клавиатуре и переходить на активный элемент подобно ссылкам.

Существует два способа связывания объекта и метки. Первый заключается в использовании идентификатора id внутри тега ^ INPUT и указании его имени в качестве параметра for тега <LABEL>. При втором способе тег <INPUT> помещается внутрь контейнера <LABEL>.

Синтаксис

<input id="идентификатор"> <label for="идентификатор">Текст</label> <label><input type="..."> Текст</label>

Параметры


Accesskey Доступ к элементам формы с помощью горячих клавиш.

For Идентификатор элемента <INPUT>, с которым следует установить связь.

^ Пример. Использование тега <LABEL>

<form action="handler.php">

<p><b>1,2,3...</b></p>

<p><input type="checkbox" id="check1"><label for="check1">Lorem</label><Br>

<input type="checkbox" id="check2"><label for="check2">4</label><Br>

<input type="checkbox" id="check3"><label for="check3">10</label><Br>

<input type="checkbox" id="check4"><label for="check4">15</label></p>

</form>


Тег <LEGEND>

Тег <LEGEND> применяется для создания заголовка группы элементов формы, которая определяется с помощью тега <FIELDSET>. Группа элементов обозначается в браузере с помощью рамки, а текст, который располагается внутри контейнера <LEGEND>, встраивается в эту рамку.
^

Синтаксис


<fieldset>  <legend>Текст</legend> </fieldset>

Параметры

Align Определяет выравнивание текста.


Title Добавляет всплывающую подсказку к тексту заголовка.

^ Пример 1. Использование тега <LEGEND>

<fieldset>

<legend>віберите числа</legend>

<p><input type="checkbox">56;<Br>

<input type="checkbox">абв;<Br>

<input type="checkbox">!»№?</p>

</fieldset>


Тег <OPTGROUP>

Тег <OPTGROUP> представляет собой контейнер, внутри которого располагаются теги <OPTION> объединенные в одну группу. Особенностью тега <OPTGROUP> является то, что он не выделяется как обычный элемент списка, акцентируется с помощью жирного начертания, а все элементы, входящие в этот контейнер, смещаются вправо от своего исходного положения.

Синтаксис


<select>  <optgroup label="...">   <option>...</option>  </optgroup> </select>

Параметры


Label Текст, который будет входить в список в виде заголовка группы.

^ Пример 1. Использование тега <OPTGROUP>

<form action="handler.php">

<p><select>

<optgroup label="Цвет">

<option value="c1">Апельсиновый</option>

<option value="c2">Лимонный</option>

<option value="c3">Персиковый</option>

</optgroup>

<optgroup label="Тон">

<option value="s1">Светлый</option>

<option value="s2">Нормальный</option>

<option value="s3">Темный</option>

</optgroup>

</select></p>

<p><input type="submit" value="Отправить"></p>

</form>


Тег <OPTION>

Тег <OPTION> определяет отдельные пункты списка, создаваемого с помощью контейнера <SELECT>. Ширина списка определяется самым широким текстом, указанным в теге <OPTION>, а также может изменяться с помощью стилей. Если планируется отправлять данные списка на сервер, то требуется поместить элемент <SELECT> внутрь формы. Это также необходимо, когда к данным списка идет обращение через скрипты.
^

Синтаксис


<select>  <option>Пункт 1</option>  <option>Пункт 2</option> </select>

Параметры


Disabled Заблокировать для доступа элемент списка.

Selected Заранее устанавливает определенный пункт списка выделенным.

Value Значение пункта списка, которое будет отправлено на сервер или прочитано с помощью скриптов.

^ Пример 1. Использование тега <OPTION>

<form action="option1.php">

<p><select size="3" name="hero">

<option disabled>Выберите героя</option>

<option value="t1" selected>Чебурашка</option>

<option value="t2">Крокодил Гена</option>

<option value="t3">Шапокляк</option>

</select></p>

<p><input type="submit" value="Отправить"></p>

</form>


Тег <SELECT>

Тег <SELECT> позволяет создать элемент интерфейса в виде раскрывающегося списка, а также список с одним или множественным выбором, как показано далее. Конечный вид зависит от использования параметра size тега <SELECT>, который устанавливает высоту списка. Ширина списка определяется самым широким текстом, указанным в теге <OPTION>, а также может изменяться с помощью стилей. Каждый пункт создается с помощью тега <OPTION>, который должен быть вложен в контейнер <SELECT>. Если планируется отправлять данные списка на сервер, то требуется поместить элемент <SELECT> внутрь формы. Это также необходимо, когда к данным списка идет обращение через скрипты.
^

Синтаксис


<select>  <option>Пункт 1</option>  <option>Пункт 2</option> </select>

Параметры


Disabled Блокирует доступ и изменение элемента.

Multiple Этот параметр позволяет одновременно выбирать сразу несколько элементов списка.

Name Имя элемента для отправки на сервер или обращения через скрипты.

Size Количество отображаемых строк списка.

^ Пример Использование тега <SELECT>

<form action="select1.php" method="post">

<p><select size="3"multiple name="hero[]">

<optiondisabled>Выберите героя</option>

<option value="Чебурашка">Чебурашка</option>

<optionselected value="Крокодил Гена">Крокодил Гена</option>

<option value="Шапокляк">Шапокляк</option>

</select></p>

<p><input type="submit" value="Отправить"></p>

</form>


ТЕГ <TEXTAREA>

ТЕГ <TEXTAREA> представляет собой элемент формы для создания области, в которую можно вводить несколько строк текста. В отличие от тега <INPUT> в текстовом поле допустимо делать переносы строк, они сохраняются при отправке данных на сервер.

Между тегами <TEXTAREA> и </TEXTAREA> можно поместить любой текст, который будет отображаться внутри поля.

Синтаксис <textarea ...>  текст </textarea>

Параметры


Cols Ширина поля в символах.

Disabled Блокирует доступ и изменение элемента.

Name Имя поля, предназначено для того, чтобы обработчик формы мог его идентифицировать.

Readonly Устанавливает, что поле не может изменяться пользователем.

Rows Высота поля в строках текста.

Wrap Параметры переноса строк.

^ Пример. Использование тега <TEXTAREA>

<form action="textarea1.php" method="post">

<p><b>Введите ваш отзыв:</b></p>

<p><textarea rows="10" cols="45" name="text"></textarea></p>

<p><input type="submit" value="Отправить"></p>

</form>



  1. Передача аргументов функции по ссылке. Механизм действия. Пример выполнения.

В отличие от параметров-значений, параметры-переменные могут быть изменены в процессе работы функции. Тут уже нельзя передавать значение, нужно обязательно передать перемкнную. В PHP для объявления параметров-переменных используется механизм передачи переменной по ссылке. Если вы хотите разрешить функции модифицировать свои аргументы, вы должны передавать их по ссылке. Если вы хотите, что бы аргумент всегда передавался по ссылке, вы должны указать амперсанд (&) перед именем аргумента в описании функции:

<?php
function funct(&$string)
{$string .= 'а эта внутри.';}
$str = 'Эта строка за пределами функции, ';
funct($str);
echo $str;    // Выведет 'Эта строка за пределами функции, а эта внутри.'

?>

<?php

  function prepareArr(&$arr) {

  print count($arr) * 2; }

 $a = array(1, 2, 3, 4, 5);

 $b = $a;

 prepareArr($a);

?>
Когда процессор приступает к передаче массива $a в функции prepareArr(), он определяет, что значение (наш массив) необходимо передавать по ссылке. Далее обнаруживает, что счётчик ссылок больше 1 (в нашем случае он равен 2). Поскольку значение массива $a передается по ссылке и любые изменения, которые может внести в него наша функция, никак не должны отразиться на $b, процессор делает отдельные копии для массивов $a и $b. При передаче значения переменной в функцию Zeng Engine может просто нарастить счётчик ссылок.


^ 10 Создание формы для закачки файлов на сервер и скрипта для ее обработки. Использование скрытого поля hidden.

<form action = “upload.php” method = “post” enctype= “multipast/form-date”> //Загрузка файла:

<input type= “file” name= “uploadfile”>

<input type = “hidden” name = “MAX_FILE_SIZE” value = “2048”>

< input type = “submit” value = “LOAD”>

</form>

Скрипт для обработки

Upload.php

<?php

Copy($_FILES[‘uploadfile’][‘tmp_name’],$FILES[‘uploadfile’][‘name’]);

?>






Скачать файл (150.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru