ГлавнаяОтзывы и пожеланияСтатьи
Функции по алфавиту:    a     b     c     d     e     f     g     h     i     j     k     l     m     n     o     p     q     r     s     t     u     v     w     x     y     z  

flock


(PHP 3>= 3.0.7, PHP 4)

flock - переносимое "совещательное/advisory" блокирование файлов.

Описание

bool flock (int fp, int operation [, int &wouldblock])

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

flock() работает с fp, который обязан быть открытым указателем на файл.
operation имеет одно из следующих значений:

  • Для получения shared-блокировки (reader) установите в operation значение LOCK_SH (установите 1 в версиях до PHP 4.0.1).

  • Для получения исключительной/exclusive блокировки (writer) установите в operation значение LOCK_EX (установите 2 в версиях до PHP 4.0.1).

  • Для освобождения блокировки (shared или exclusive) установите в operation значение LOCK_UN (3 в версиях до PHP 4.0.1).

  • Если вы не хотите, чтобы flock() блокировала, добавьте LOCK_NB (4 в версиях до PHP 4.0.1) в operation.

flock() позволяет реализовать простую модель reader/writer, которая может использоваться на практически любой платформе (включая большинство клонов Unix и даже Windows). Необязательный третий аргумент устанавливается в TRUE, если блокировка возможна (EWOULDBLOCK errno condition).

flock() возвращает TRUE при успехе и FALSE при ошибке (например, когда блокировка не может быть получена).

Примечание: поскольку flock() требует указателя на файл, вам может понадобиться использовать специальную блокировку файла для предотвращения доступа к файлу, который вы намереваетесь усечь в режиме write (с аргументом "w" или "w+" для fopen()).

Предупреждение!

flock() не будет работать в NFS и многих других сетевых файловых системах. См. в вашей документации по ОС детальную информацию.

В некоторых ОС flock() реализуется на уровне процесса. При использовании API многопоточного сервера типа ISAPI вы не сможете рассчитывать на flock() для защиты файлов относительно других PHP-скриптов, запущенных в параллельных потоках в том же самом экземпляре сервера!

flock() не поддерживается на старинных файловых системах вроде FAT и их клонах и, следовательно, всегда возвращает FALSE в такой среде (это также верно для пользователей Windows 98).




Другие функции на f:

fbsql_autocommit
fbsql_change_user
fbsql_commit
fbsql_connect
fbsql_create_blob
fbsql_create_clob
fbsql_create_db
fbsql_database
fbsql_data_seek
fbsql_errno
fbsql_fetch_assoc
fbsql_fetch_object
fbsql_fetch_row
fbsql_field_len
fbsql_field_name
fbsql_field_seek
fbsql_hostname
fbsql_insert_id
fbsql_list_dbs
fbsql_list_tables
fbsql_num_rows
fbsql_password
fbsql_read_clob
fbsql_result
fbsql_rollback
fbsql_select_db
fbsql_set_lob_mode
fbsql_set_transaction
fbsql_tablename
fbsql_username
fclose
fdf_create
fdf_get_status
fdf_get_value
fdf_open
fdf_save
fdf_set_encoding
fdf_set_file
fdf_set_flags
fdf_set_opt
feof
fflush
file
filectime
filegroup
fileinode
fileperms
filepro
filepro_fieldname
filepro_fieldtype
filepro_fieldwidth
filepro_retrieve
filepro_rowcount
filetype
file_get_contents
file_get_wrapper_data
flush
fopen
fpassthru
fputs
fread
FrenchToJD
fribidi_log2vis
fseek
fstat
ftell
ftok
ftp_cdup
ftp_chdir
ftp_close
ftp_connect
ftp_exec
ftp_fput
ftp_get
ftp_get_option
ftp_mdtm
ftp_put
ftp_pwd
ftp_quit
ftp_rawlist
ftp_rename
func_get_args
fwrite


EXPERTGS.ru описание функций php.