ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Операционная система


28-12-2009

В этой главе описываются функции, взаимодействующие с операционной системой (ОС) и оборудованием, на котором она работает. Большая часть этих функций связана с файлами, другие взаимодействуют с командными оболочками, позволяющими выполнять программы. Кроме того, в настоящей главе затрагиваются вопросы отладочных функций, возвращающих информацию о PHP.
9.1. Файлы
Описанные в этой главе функции помогают манипулировать файлами или возвращают информацию о них. Все они включают команды, которые выполняются в командных оболочках Unix или Windows. Если функции, описываемые здесь, ссылаются на файл или каталог, можно указывать имя файла, который находится в том же каталоге, что и сам сценарий. При этом можно не задавать абсолютный или относительный путь. Каталоги вида . и .. допустимы как в Unix, так и в Windows. Кроме того, на Windows-машинах можно задавать имя устройства. Символ обратной косой черты является ограничителем каталогов и имен файлов при работе под управлением Windows, но и обычные косые тоже интерпретируются корректно.
boolean chdir(string directory)
При запуске сценария PHP его путем по умолчанию является путь к каталогу, в котором находится сам сценарий, т.е. если полный путь к сценарию будет таким: /users/leon/public_html/somescript.php, то все пути, с которыми он работает, берутся относительно /users/leon/public_html/. Значение пути по умолчанию можно изменить с помощью функции chdir (листинг 9.1), которая возвращает значение TRUE, если изменение сделано, и значение FALSE, если сценарию не удается поменять каталог. 

Листинг 9.1. Функция chdir

<?php
if(chdir("/tmp")) {
print("текущий каталог? /tmp");
}
else
{
print("HeB03Mo;KHO поменять на /tmp");
}

boolean chgrp(string filename, string group)
В функции chgrp (листинг 9.2) заложена идея Unix, заключающаяся в изменении группы, к которой принадлежит файл. При успешном исходе возвращается значение TRUE. Если невозможно изменить группу, возвращается значение FALSE. Под управлением Windows эта функция всегда возвращает значение TRUE и возвращает файл в неизмененном виде. Функция chgrp имеет две родственные функции - chmod и chown. Если необходимо определить группу, к которой принадлежит файл в данный момент, можно воспользоваться функцией filegroup. Аналогичные команды Unix можно найти на соответствующей странице справки (man-странице) ОС Unix.

| Листинг 9.2. Функция chgrp_
<?php
if(chgrp("log.txt", "editors"))
{
print("log.txt поменял свою группу на editors");
}
else
{
print("log.txt не поменял свою группу на editors ");
}
?>

boolean chmod(string filename, integer mode)
Функция chmod (листинг 9.3) устанавливает права доступа к данному файлу в ОС Unix на основе выбранного режима, который интерпретируется аналогично командам Unix, за исключением того, что он не преобразуется в восьмеричное значение. Если он не имеет префикса 0, chmode рассматривается как десятичное число. В Unix права доступа для владельца, группы пользователей и других пользователей задаются соответственно тремя восьмеричными числами. Для того чтобы комбинировать привилегии, можно добавлять режимы. Например, для того чтобы получить права на чтение и выполнение файла, необходимо воспользоваться режимом 5. Режимы файлов приведены в табл. 9.1. Справку можно получить и на man-странице команды chmod в системе Unix.
Операционная система
Под управлением ОС Windows функция chmod имеет ограниченное использование. Режимы, описанные в табл. 9.2, специфицированы и компанией Microsoft. Ими можно манипулировать с помощью операции "побитового ИЛИ" (|), но практически реальное значение имеет только разрешение на запись. Все файлы в ОС Windows являются читаемыми, а то, является ли файл исполняемым, непосредственно определяется из расширения файла.
Операционная система

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Браузер ввода-вывода. Часть Восьмая. PHP. Операционная система. Часть Вторая.