|
|
|
| Объясните пожалуйста как это сделать, приведите пример...
Простенький какой-нибудь, с объяснением... | |
|
|
|
|
|
|
|
для: evgen_17
(04.03.2005 в 15:06)
| | 1) Поставим цель - создание функции, которая сохраняет в файле ($FileName) определенную строку ($Str) и выводит сообщения об успешном/неуспешном выполнении операции сохранения.
2) Придумаем для нее имя: SaveString (). Имена должны быть не очень длинными (2-3 слова), а также указывать на действие данной функции, поэтому имя удобно начинать с английского глагола (глагол - часть речи, обозначающая действие).
3) Объявим ее:
<?php
function SaveString ($Str, $FileName)
{
//тело (механизм функции)
}
|
function - ключевое слово PHP, указывающее на то, что данная конструкция является функцией (обязательно)
SaveString - имя функции обязательно
($Str, $FileName) - параметры функции, т.е. те данные которыми она будет оперировать. Функция может не иметь параметров в таком случае ставятся только круглые скобки ()
{} - в фигурные скобки заключается тело функции (обязательны).
4) Затем нужно создать механизм функции. Наша функция должна открыть файл, записать в нее строку, закрыть файл, вернуть строку с результатом выполнения операции сохранения
<?php
function SaveString ($Str, $FileName)
{
//тело (механизм функции)
//открываем файл для чтения
$fp = @fopen($FileName, 'r');
if($fp)
{
//записываем строку в файл
fwrite($fp, $Str);
//создаем сообещение об успешном сохранении
$Mess = 'Данные успешно сохранены';
//закрываем файл
fclose($fp);
} else
{
$Mess = 'Ошибка при записи в файл';
}
//Возвращаем результат выполнения
return($Mess);
}
?>
|
| |
|
|
|
|
|
|
|
для: antf
(04.03.2005 в 16:33)
| | Спасибо большое! А как насчёт переменных? Если я например объявлю переменныю $Str за пределами тела функции, то она будет ей оперировать или переменные нужно объявлять строго в теле функции? Или например мне нужно чтобы переменные используемые в функции использовались и во всём скрипте, что в таком случае? | |
|
|
|
|
|
|
|
для: evgen_17
(04.03.2005 в 20:44)
| | >Если я например объявлю переменныю $Str за пределами тела функции
тогда в функции надо объявить эту переменную как глобальную
| |
|
|
|
|
|
|
|
для: Crux
(04.03.2005 в 20:49)
| | А это на безопасность не влияет??? Спасибо. | |
|
|
|
|
|
|
|
для: evgen_17
(04.03.2005 в 20:51)
| | каким образом?! | |
|
|
|
|
|
|
|
для: evgen_17
(04.03.2005 в 20:51)
| | Нет на безопасность это прямо не влияет, но использованиен globals считается не совсем хорошим тоном программирования - так как слегка запутывает код. Если есть возможность - страются избегать использования этой директивы. | |
|
|
|
|
|
|
|
для: evgen_17
(04.03.2005 в 20:44)
| | Есть два выхода:
1) Передавать переменные в качестве параметров (см. Выше). В таком случае они будут видны только в теле функции и нигде больше.
2) Объявлять глобальные переменные в теле функции. Тогда
<?php
function SaveString ()
{
global $Str, $FileName;
//тело (механизм функции)
}
?>
|
| |
|
|
|