Эта функция является частью группы, состоящей из трех функций, которые меняют аналогичную информацию о файлах. Двумя другими функциями являются chgrp и chown. С помощью функции fileperms можно получить информацию о текущих режимах файла.
Листинг 9.3. Функция chmod
<?php /*
** разрешить всем чтение из файла и запись в файл ** при работе PHP под управлением ОС Unix
*/
if(chmod("data.txt", 0666))
{
print("изменение режима прошло успешно");
}
else
{
print(" изменение режима невозможно");
}
?>
boolean chown(string filename, string user)
Владельца указанного файла можно изменить с помощью функции chown (листинг 9.4). При успешном исходе возвращается значение TRUE, в противном случае - значение FALSE. Под управлением ОС Windows эта функция ничего не делает и всегда возвращает значение TRUE. Эта функция аналогична функциям chgrp и chmod. Узнать текущего владельца файла можно с помощью функции fileowner.
| Листинг 9.4. Функция chown_
<?php
/*
** изменить владельца на владельца leon
*/
if(chown("data.txt", "leon"))
{
print(" владелец изменен");
}
else
{
print(" владельца изменить невозможно ");
}
?>
boolean chroot(string path)
Функция chroot меняет корневой каталог на каталог, заданный параметром path, что закрывает доступ к любому каталогу, находящемуся выше нового корневого каталога. Это изменение имеет силу до завершения серверного процесса, а значит, такая возможность может оказаться небезопасной при работе PHP в качестве модуля Apache. Эта функция отсутствует в ОС Windows.
closedir(integer directory_handle)
Функция closedir (листинг 9.5) закрывает каталог после того, как он был открыт с помощью функции opendir. PHP закроет соединение с каталогом после завершения работы сценария, таким образом, применение этой функции необязательно.
| Листинг 9.5. Оператор closedir_
<?php
// распечатать текущий каталог в несортированном виде
print("<ul>n");
// открыть каталог
$myDirectory = opendir("."),-
// получить каталоги
while(FALSE !== ($entryName = readdir($myDirectory)))
{
print("<li>$entryName</li>n");
}
// закрыть каталог
closedir($myDirectory);
print("</ul>n");
?>
boolean copy(string source, string destination)
Функция copy (листинг 9.6) копирует файл, заданный аргументом source, в файл, определенный аргументом destination, и в результате получаются два отдельных идентичных файла. Эта функция позволяет делать ссылку на файл, но в таком случае необходимо пользоваться функцией link или symlink. Для переноса файла в другой каталог можно прибегнуть к функции rename. Эта функция допускает задание URL в обоих аргументах.
| Листинг 9.6. Функция copy_
<?php
if(copy("data.txt", "/tmp/data.txt"))
{
print("data.txt скопирован в /tmp");
}
else
{
print("data.txt невозможно скопировать");
}
?>
float disk_free_space(string path)
Функция disk_free_space (листинг 9.7) возвращает количество свободных байтов для каталога по указанному пути.
| Листинг 9.7. Функция disk_free_space_
<?php
$total = disk_total_space("/"); $free = disk_free_space("/");
$ratio = sprintf("%.2f", $free/$total*100.00);
print("Испoльзoваниe диска: $ratio% свободно ($free/$total)");
?>
float disk_total_space(string path)
Эта функция возвращает объем дискового пространства для каталога по заданному пути.
object dir(string directory)
Функция dir (листинг 9.8) создает объект каталога, который будет использоваться в качестве альтернативы таких функций, как opendir и closedir. Возвращенный объект имеет два свойства: handle и path. Свойство handle может использоваться с такими функциями каталогов, как readdir, как если бы они были созданы функцией opendir. Свойство path является строкой, предназначенной для создания объекта каталога. Объект имеет три метода: read, rewind и close, которые полностью аналогичны функциям readdir, rewinddir и closedir.
Листинг 9.8. Функция dir
<?php
// распечатать текущий каталог в несортированном виде
print("<ul>n");
// открыть каталог
$myDirectory = dir(".");
// прочитать записи
while(FALSE !== ($entryName = $myDirectory->read()))
{
print("<li>$entryName</li>n");
}
// закрыть каталог
$myDirectory->close();
print("</ul>n");
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Операционная система. Часть Вторая.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Операционная система | PHP. Операционная система. Часть Третья |