Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / PHP / Руководство по РНР 3.0 / Справочник функций /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Функции файловой системы - Программирование от RIN.RU
Функции файловой системы

basename
chgrp
chmod
chown
clearstatcache
copy
dirname
fclose
feof
fgetc
fgets
fgetss
file
file_exists
fileatime
filectime
filegroup
fileinode
filemtime
fileowner
fileperms
filesize
filetype
fopen
fpassthru
fputs
fread
fseek
ftell
fwrite
is_dir
is_executable
is_file
is_link
is_readable
is_writeable
link
linkinfo
mkdir
pclose
popen
readfile
readlink
rename
rewind
rmdir
stat
lstat
symlink
tempnam
touch
umask
unlink



basename


basename -- возвращает из полного пути имя файла


Описание string basename(string path);


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


В Windows оба слеша - передний (/) и обратный (\) - используются как разделители при задании пути. В других окружениях это только передний слеш (/).


Пример basename() example


$path = "/home/httpd/html/index.php3";
$file = basename($path); // $file устанавливается в "index.php3"


Смотри также: dirname()



chgrp


chgrp -- изменить файловую группу


Описание int chgrp(string filename, mixed group);


Пытается изменить группу файла filename на group. Только супервизор может изменить текущую группу на любую случайную; другие пользователи могут менять группу только на любую из тех, для которых они являются пользователями.


Возвращает true при успешном завершении; в противном случае - false.


В Windows ничего не происходит и возвращается true.


Cмотри также chown () и chmod().



chmod


chmod -- изменить режим файла


Описание int chmod(string filename, int mode);


Пытается изменить режим файла, указанного в filename на mode.


Заметим, что mode не присваивает автоматически восьмиричное значение, вам необходим префикс mode с нулем (0):


chmod( "/somedir/somefile", 755 ); // десятичный; возможно неправильныйt
chmod( "/somedir/somefile", 0755 ); // восьмиричный; корректное значение режима


Возвращает true при успешном завершении; в противном случае - false.


Cмотри также chown() и chgrp().



chown


chown -- изменяет владельца файла


Описание int chown(string filename, mixed user);


Пытается изменить владельца файла filename на пользователя user. Только суперюзер может изменять владельца файла.


Возвращает true при успешном завершении; в противном случае - false.


Note: В Window ничего не выполняется и возвращается true.


Смотри также chown() и chmod().



clearstatcache


clearstatcache -- очистить кеш статистики файла


Описание void clearstatcache(void);


Вызовы системных функций stat() или lstat() в большинстве систем достаточно "дорогостоящие". Поэтому, результаты последнего вызова любой из статусных функций (см. ниже) сохраняются для последующего использования при вызове этой же функции для этого же файла. Если вы желаете инициировать новый кеш, например, в случае, когда к файлу было много обращений по проверке статуса, или файл был изменен, используйте эту функцию для очистки памяти результатов вызовов.


Affected functions include stat(), lstat (), file_exists(), is_writeable(), is_readable(), is_executable(), is_file(), is_dir(), is_link(), filectime(), fileatime(), filemtime(), fileinode(), filegroup(), fileowner(), filesize(), filetype(), и fileperms().



copy


copy -- скопировать файл


Описание int copy(string source, string dest);


Создает копию файла. Возвращает true при успешном завершении; в противном случае - false.


Пример. copy()




if (!copy($file, $file.".bak")) {
print("failed to copy $file...<br>\n");
}



Cмотри также: rename()



dirname


dirname -- путь к файлу


Описание string dirname(string path);


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


В Windows оба слеша - передний (/) и обратный (\) - используются как разделители при задании пути. В других окружениях это только передний слеш (/).


Пример. dirname()


$path = "/etc/passwd";
$file = dirname($path); // $file is set to "/etc"


Cмотри также: basename()



fclose


fclose -- close an open file pointer


Описание int fclose(int fp);


Указатель на файл fp закрывается.


Возвращает true при удачной операции и false при ошибке.


Указатель должен быть действующим и указывать на файл, успешно открытый fopen() или fsockopen().



feof


feof -- проверка на достижение указателем конца файла


Описание int feof(int fp);


Возвращает true если указатель файла равен EOF или в случае ошибки; в противном случае возвращается false.


Указатель должен быть действующим и указывать на файл, успешно открытый fopenpopen(), или fsockopen().



fgetc


fgetc -- получить символ из файла


Описание string fgetc(int fp);


Возвращает строку, содержащую один символ, прочитанный по файловому указателю fp. При EOF возвращается false (as does feof()).


Указатель должен быть действующим и указывать на файл, успешно открытый fopen(), popen (), или fsockopen().


Смотри также fopen(), popen(), fsockopen(), и fgets().



fgets


fgets -- получить строку по указателю на файл


Описание string fgets(int fp, int length);


Возвращает строку до length - читается по одному байту из файла, указанного в fp. Чтение заканчивается, если прочитано length символов - 1 байт прочитается в любом случае, или до символов перевода строки и возврата караетки, или до EOF.


При ошибке возвращается false.


Указатель должен быть действующим и указывать на файл, успешно открытый fopen(), popen(), или fsockopen().


Смотри также fopen(), popen(), fgetc(), и fsockopen().



fgetss


fgetss -- получить строку по указателю файла и вырезать HTML тэги


Описание string fgetss(int fp, int length);


Идентично fgets(), отличают fgetss попытки удалить HTML и PHP тэги из прочитанного текста.


Смотри также fgets(), fopen(), fsockopen(), и popen().



file


file -- прочитать файл в массив


Описание array file(string filename);


Идентична readfile(), но file() выдает файл в массив. Каждый элемент массива соответствует строке файла (вместе с символом возврата строки).


Смотри также readfile(), fopen(), и popen().



file_exists


file_exists -- проверяет существование искомого файла.


Описание int file_exists(string filename);


Возвращает true, если файл, определенный в filename, существует; иначе - false.


Смотри также clearstatcache().



fileatime


fileatime -- время поледнего обращения к файлу


Описание int fileatime(string filename);


Возврвщет время последнего усешного обращения к файлу, или false в случае ошибки.



filectime


filectime -- время последнего изменения файла


Описание int filectime(string filename);


Возвращается время последего изменения файла, или false в случае ошибки.



filegroup


filegroup -- группа файла


Описание int filegroup(string filename);


Возврашает ID группы владельца файла, или false в случае ошибки.



fileinode


fileinode -- inode файла


Описание int fileinode(string filename);


Возвращает номер inode файла, или false в случае ошибки.



filemtime


filemtime -- время модификации файла


Описание int filemtime(string filename);


Возвращается время последего изменения файла, или false в случае ошибки.



fileowner


fileowner -- владелец файла


Описание int fileowner(string filename);


Возвращает ID пользователя, владельца файла, или false в случае ошибки.



fileperms


fileperms -- разрешения для файла


Описание int fileperms(string filename);


Возвращает разрешения, установленные для файла, или false в случае ошибки.



filesize


filesize -- размер файла


Описание int filesize(string filename);


Возвращает размер файла, или false в случае ошибки.



filetype


filetype -- тип файла


Описание string filetype(string filename);


Возвращает тип файла. Возможные значения: fifo, char, dir, block, link, file и unknown.


В случае ошибки возвращется false



fopen


fopen -- открыть файл или URL


Описание int fopen(string filename, string mode);


Если filename начинается с "http://" (без учета регистра), открывается соединение HTTP 1.0 с указанным сервером и возвращается указатель файла, нга начало текста ответа.


Поскольку редиректы HTTP не обрабатываются, вы должны включать в указание директории завершающие слеши.


Если filename начинается с "ftp://" (без учета регистра), открывается ftp соединение с указанным сервером и возвращается указатель на искомый файл. Если сервер не поддерживает режим пассивного ftp, данная операция завершится ошибкой. Вы можете открывать файлы как для чтения, так и для записи через ftp (но не обе операции одновременно).


Если filename начинается как-нибудь иначе, откравается файл вашей файловой системы, и возвращается указатель на открытый файл.


Если при открвтии файла происходит ошибка, функция возвращает false.


mode выбирается из следующего списка:


  • "r" - Открыть только для чтения, помещает указатель на начало файла.

  • "r+" - Открыть для чтения и для записи, помещает указатель на начало файла.

  • "w" - Открыть только для записи, помещает указатель на начало файла и очищает все содержимое файла. Если файл не сществует, создается новый файл

  • "w+" - Открыть для чтения и для записи, помещает указатель на начало файла и очищает все содержимое файла. Если файл не сществует, создается новый файл.

  • "a" - Открыть только для записи, помещает указатель на конец файла. Если файл не сществует, создается новый файл.

  • "a+" - Открыть для чтения и для записи, помещает указатель на конец файла. Если файл не сществует, создается новый файл.


mode также может содержать символ "b". Используется в системах, различающих бинарные и текстовые файлы (не используется в Unix). Если данное значение не имеет смысла, оно игногрируется.


Пример. fopen()


$fp = fopen("/home/rasmus/file.txt", "r");
$fp = fopen("http://www.php.net/", "r");
$fp = fopen("ftp://user:password@example.com/", "w");


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


На платформе Windows будьте осторожны, избегая обратных слешей в путях или используйте передние слеши.


$fp = fopen("c:\\data\\info.txt", "r");


Смотри также fclose() , fsockopen(), и popen().



fpassthru


fpassthru -- вывод всех данных из указателя файла


Описание int fpassthru(int fp);
Читает до EOF по полученному указателю файла и записывает результат на стандартное устройство вывода.


При возникновении ошибки fpassthru () возвращает false.


Файловый указатель должен быть действующим и указывать на файл, успешно открытый fopen() popen(), or fsockopen(). Файл, закрытый fpassthru(), не читается, оставляя fp неиспользованным.


Если вы хотиде стедать дамп файла на stdout, вы можете использовать readfile(), которая сэкономит вам один вызов fopen().


Смотри также readfile(), fopen(), popen(), и fsockopen()



fputs


fputs -- запись в файл


Описание int fputs(int fp, string str, int [length]);


fputs() - это псевдоним fwrite(), и обе функции полностью идентичны. Заметим, что параметр length опционален и при его отсутствии записывается вся строка str.



fread


fread -- бинарное чтение файла


Описание string fread(int fp, int length);


fread() читает байты из файла, на который ссылается fp до length. Чтение заканчивается, когда прочитано length байт или достигнут EOF.


// получить содержимое файла в строку
$filename = "/usr/local/something.txt";
$fd = fopen( $filename, "r" );
$contents = fread( $fd, filesize( $filename ) );
fclose( $fd );


Смотри также fwrite(), fopen(), fsockopen(), popen(), fgets(), fgetss(), file(), и fpassthru().



fseek


fseek -- поиск в файле


Описание int fseek(int fp, int offset);


Для файла fp устанавливает указатель в потоке файла на смещение в offset байт. Эквивалентно вызову в Си fseek( fp, offset, SEEK_SET ).


При удачном выполнении возвращает 0, в противном слчае возврщается -1. ЗАметим, что поиск после EOF не рассматривается как ошибка.


Не испоьзуется для файловых указателей, возвращенных fopen() при использовании форматов "http://" или "ftp://".


Смотри также ftell() и rewind().



ftell


ftell -- текущая позиция указателя в файле


Описание int ftell(int fp);


Возвращает позицию указателя в файле, на который ссылвется fp, т.е. смещение в потоке файла.


При возникновении ошибки возвращается false.


TФайловый указатель должен быть действующим и указывать на файл, успешно открытый fopen() или popen().


Смотри также fopen(), popen(), fseek() и rewind().



fwrite


fwrite -- бинарная запись в файл


Описание int fwrite(int fp, string string, int [length]);


fwrite() записывает содержимое string в файловый поток, указанный fp. Если аргумент length присутствует, запись останавливается после записи length-го байта, или после записи всей строки string.


Заметим, что если есть аргумент length, то конфигурационные опции magic_quotes_runtime игнорируются и никакие слеши из string не удаляются.


Смотри также fread(), fopen(), fsockopen(), popen(), и fputs().



is_dir


is_dir -- filename - директория?


Описание bool is_dir(string filename);


Возвращает true, если filename существует и это директория.


Смотри также is_file() и is_link().



is_executable


is_executable -- фавйл относится к классу исполнимых


Описание bool is_executable(string filename);


Возвращает true, если filename существует и является исполнимым файлом.


Смотри также is_file() и is_link().



is_file


is_file -- файл относится к классу обычных файлов


Описание bool is_file(string filename);


Возвращает true, если filename существует и является обычным файлом.


Смотри также is_dir() и is_link().



is_link


is_link -- файл относится к файлу символических ссылок


Описание bool is_link(string filename);


Возвращает true, если filename существует и является символической ссылкой.


Смотри также is_dir() и is_file().



is_readable


is_readable -- файл относится к классу читаемых


Описание bool is_readable(string filename);


Возвращает true, если filename существует и является доступным для чтения.


Помните, что PHP может иметь доступ к файлу как поьлзователь, под чьим id запущен веб-сервер (часто "nobody"). Ограничения безопасного режима не действуют внутри аккаунта.


Смотри также is_writeable().



is_writeable


is_writeable -- файл относится к классу записываемых


Описание bool is_readable(string filename);


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


Помните, что PHP может иметь доступ к файлу как поьлзователь, под чьим id запущен веб-сервер (часто "nobody"). Ограничения безопасного режима не действуют внутри аккаунта.


Смотри также is_readable().



link


link -- создать жесткую ссылку


Описание int link(string target, string link);


link() cсоздает жесткую ссылку.


Смотри также symlink() создает символическую ссылку, и readlink() вместе с linkinfo().



linkinfo


linkinfo -- информация о ссылке


Описание int linkinfo(string path);


linkinfo() возвращает поле st_dev из UNIX C структуры stat, возвращенной системным вызовом lstat. Эта функция используется для верификации, если ссылка (указанная в path) реально существует (испотльзует те же методы, что и макрос S_ISLNK, определенный в stat.h). Возвращает 0 или FALSE в случае ошибки.


Смотри также symlink(), link(), и readlink().



mkdir


mkdir -- создать директорию


Описание int mkdir(string pathname, int mode);


Пытается создать директорию, указанную в pathname.


Заметим, что если вы захотите указать mode в восьмеричной системе, то число должно начинаться с 0.


mkdir("/path/to/my/dir", 0700);


Возвращает true при успешном выполнении и false при ошибке.


Смотри также rmdir().



pclose


pclose -- закрывает процесс файлового указателя


Описание int pclose(int fp);


Закрывает файловый указатель к каналу, открытому popen().


Файловый указатель должен быть действующим и возвращен успешным вызовом popen().


Возврващает статус завершения запущенного процесса.


Смотри также popen().



popen


popen -- открыть процесс файлофого указателя


Описание int popen(string command, string mode);


Открывает канал к процессу, исполняемому путем форкинга команды command.


Возвращает файловый указаель, идентичный возвращемому fopen(), но этот указатель мононаправленный (может использоваться только для чтения или только для записи) и должен бытть закрыт pclose(). Этот указатель можно использовать с fgets(), fgetss(), и fputs().


При возникновении ошибки возвращет false.


$fp = popen( "/bin/ls", "r" );


Смотри также pclose().



readfile


readfile -- вывод файла


Описание int readfile(string filename);


Читает файл и записывает его на стандартное устройство вывода.


Возвращает количество прочитанных байтов. В случае возникновения ошибки возвращется false и за исключением функции, вызванной как @readfile, выводится сообщение об ошибке.


Если filename начинается с "http://" (без учета регистра), открывается соединение HTTP 1.0 к указанному серверу и текст ответа выводится на стандартное устротйство вывода.


Поскольку редиректы HTTP не обрабатываются, вы должны включать в указание директории завершающие слеши.


Если filename начинается с "ftp://" (без учета регистра), открывается ftp соединение с указанным сервером и файл ответа выводится на стандартное устройство вывода. Если сервер не поддерживает режим пассивного ftp, этот вызов завершится ошибкой.


Если filename начинается как-нибудь иначе, будет открыт файл файловой системы и его ссодержимое выведется на стандартное устройство вывода.


Смотри также fpassthru(), file(), fopen(), include(), require(), и virtual().



readlink


readlink -- цель символической ссылки


Описание string readlink(string path);


readlink() работает аналогично функции Си readlink и возвращает содержимое символической ссылки path или 0 в случае ошибки.


Смотри также symlink(), readlink() и linkinfo().



rename


rename -- переименовать файл


Описание int rename(string oldname, string newname);


Пытается переименовать oldname в newname.


Возвращает true при успешном выполнениии и false при сбое.



rewind


rewind -- rewind the position of a file pointer


Описание int rewind(int fp);


Позиционирует файловфй указатель для fp на начало потока файла.


При возникновении ошибки возвращается 0.


Файловый указатель должен быть действующим и указавать на файл, успешно открытый fopen().


Смотри также fseek() и ftell().



rmdir


rmdir -- удалить директорию


Описание int rmdir(string dirname);


Пытается удалить директорию, указанную путем. Директория лдолжна быть пустой, и релевантные разрешения должны допустить это.


При возникновении ошибкт возвращается 0.


Смотри также mkdir().



stat


stat -- информация о файле


Описание array stat(string filename);


Собирает статичтику о файле filename.


Возвращает массив статистической информации о файле со следующими элементами:


  1. устройство

  2. inode

  3. номер ссылки

  4. id пользователя или владельца

  5. id группы владельца

  6. device type if inode device *

  7. размер в байтах

  8. время последнего доступа

  9. время последней модификации

  10. время последнего изменения

  11. размер блока для I/O файловой системы *

  12. количество занатых блоков


* - только для систем, поддерживающих тип st_blksize -- в других системах (i.e. Windows) возвращается -1



lstat


lstat -- информация о файле или символической ссылке


Описание array lstat(string filename);


Собирает информацию и файле иил символической ссылке filename. Эта функция идентична stat(), но если filename - это символическая ссылка, то возвращается статус символической ссылки, а не статус файла, на который указывает данная ссылка.


Возвращает массив статистической информации со следующими элементами:


  1. устройство

  2. inode

  3. число ссылок

  4. id пользователя или владельца

  5. id группы владельца

  6. тип устройства, если inode - устройство *

  7. размер в байтах

  8. время последнего доступа

  9. время последней модификации

  10. время последнего изменения

  11. размер болка для I/O файловой системы *

  12. количество занатых блоков


* - только для систем, поддерживающих тип st_blksize -- в других системах (i.e. Windows) возвращается -1



symlink


symlink -- создать символическую ссылку


Описание int symlink(string target, string link);


symlink() создает символическую ссылку с существующей целью target с указанным именем link.


Смотри также link() создает жесткую ссылку, и readlink() вместе с linkinfo().



tempnam


tempnam -- создать уникальное имя файла


Описание string tempnam(string dir, string prefix);


Создает никальное имя файла в указанной директории. Если директория не существует, tempnam() может сгененрировать имя файла во временной директории системы.


Возвращает новое временное имя файла, или нулевую строку при ошибке.


Пример. tempnam()


$tmpfname = tempnam( "/tmp", "FOO" );



touch


touch -- установить время модификации файла


Описание int touch(string filename, int time);


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


Если файл не существует, то он создается.


Возвращает true при успешном выполнении и false в обратном случае.



umask


umask -- изменить текущую umask


Описание int umask(int mask);


umask() устанавливает текущую umask PHP в mask & 0777 и возвращает старую umask. Когда PHP используется ска серверный модуль, umask сохраняется при завершении каждого запроса.


umask() без аргументов возвращает текущую маску.



unlink


unlink -- удалить файл


Описание int unlink(string filename);


Удаляет filename. Аналогично функции Unix C unlink().


Возвращает 0 или FALSE при ошибке.


Смотри также rmdir() для удаления директорий.



 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Adabas D функции

Специфичные функции Apache

Функции обработки массивов

Математические BC (произвольной точности) функции

Календарные Функции

Функции Даты/Времени

dBase функции

Функции dbm

Функции для работы с каталогами

Функции запуска программ

Функции работы с filePro

Функции, связанные с HTTP

Функции работы с Hyperwave

Функции работы с изображениями

Функции IMAP

PHP опции и информация

Функции работы с Informix

LDAP Функции

Почтовые функции

Математические функции

Дополнительные функции

Функции mSQL

Функции MySQL

Функции для работы с Sybase

Сетевые функции

Функции ODBC

Функции Oracle

Функции PDF

Функции PostgreSQL

Функции регулярных выражений

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

Solid (надежные) функции

Функции SNMP

Строковые функции

Функции URL

Функции переменных

Функции Vmailmgr

Функции Gz-файлов

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь