Новые книги

Рассмотрены основные принципы и возможности технологии ASP.NET MVC Framework и показаны способы ее практического использования при разработке веб-приложений. Описаны преимущества подхода разработки MVC и рассмотрена структура MVC-приложения. Приведено сравнение технологии WebForms и MVC Framework и рассмотрены вопросы их совмещения.

Описаны модель и доступ к данным (технологии LINQ, Entity Framework и др.), контроллеры, представление и интерфейс приложения, механизмы маршрутизации и Ajax-функциональность. Уделено внимание вопросам тестирования веб-приложений. Рассмотрены особенности применения ASP.NET MVC 2 в Visual Studio 2010.

Для программистов
Рассмотрены вопросы настройки ОС Linux на максимальную производительность и безопасность. Описаны потенциальные уязвимости и рекомендации по предотвращению возможных атак. Дается подробное описание настройки прав доступа и конфигурирования сетевого экрана. Показано, как действовать при атаке или взломе системы, чтобы максимально быстро восстановить ее работоспособность и предотвратить потерю данных.

Для пользователей, администраторов и специалистов по безопасности

Содержание

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

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

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

Пример 1. 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.

смотри также 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.

смотри также 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.

Пример 1. copy()

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

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


dirname

dirname -- путь к файлу
Описание
string dirname(string path);

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

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

Пример 1. dirname()

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

смотри также: 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.

Указатель должен быть действующим и указывать на файл, успешно открытый fopen(), popen(), или 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). Если данное значение не имеет смысла, оно игногрируется.

Пример 1. 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() может сгененрировать имя файла во временной директории системы.

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

Пример 1. 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() для удаления директорий.

Назад, к содержанию