integer stream_set_write_buffer(resource file, integer size)
Функция stream_set_write_buffer (листинг 9.43) используется для установки размера буфера записи файлового потока. Для нее требуется дескриптор файла, созданного функциями fopen, fsockopen или popen. Аргумент size представляет размер буфера в байтах, и если установить размер буфера равным нулю, то буферизация использоваться не будет. Можно только установить размер буфера перед началом операций чтения/записи в файловый поток. По умолчанию файловые потоки запускаются с буфером 8 Кбайт.
Листинг 9.43. Функция stream_set_write_buffer
<?php
// убедитесь в том, что файл открыт успешно if(!($fp = fopen("/tmp/data.txt","w")))
{
print(" файл невозможно открыть "); exit;
}
// использовать запись без буферизации stream_set_write_buffer($fp, 0); for($index=0; $index<10; $index++)
{
// записать строку в файл fwrite($fp, "line $indexn");
}
// закрыть файл fclose($fp);
?>
boolean symlink(string source, string destination)
Функция symlink (листинг 9.44) создает символическую ссылку на указанный в аргументе ресурс source с именем, заданным в аргументе destination. Для создания твердой ссылки необходимо использовать функцию link.
Листинг 9.44. Функция symlink
<?php
// создать ссылку moredata.txt на существующий файл data.txt if(symlink("data.txt", "moredata.txt"))
{
print("Создана символическая ссылка");
}
else
{
print(" Символическая ссылка не создана");
}
?>
string tempnam(string path, string prefix)
Функция tempnam создает новый файл по заданному пути. В имя файла будет добавлен префикс, заданный в аргументе prefix. Реализации этой функции в разных ОС отличаются. На платформе Linux, например, для того чтобы имя файла стало уникальным, в него добавляется шесть символов. Файлу присваивается режим "чтение/запись" для всех пользователей. Функция возвращает имя файла.
integer tmpfile()
Функция tmpfile (листинг 9.45) открывает новый временный файл и возвращает его дескриптор, который используется там же, как и дескриптор, возвращаемый функцией fopen с использованием режима обновления. После закрытия файла или завершения работы вашего сценария этот файл будет удален. Эта функция является оболочкой для C-функции с тем же самым именем. Если в силу каких-либо причин файл не может быть создан, возвращается значение FALSE.
j Листинг 9.45. Функция tmpfile_
<?php
// открыть временный файл $fp = tmpfile();
// для моделирования определенного процесса //записать 10 Кбайт произвольных данных
for($i=0; $i<10240; $i++)
{
//выбрать произвольную букву
fputs($fp, chr(rand(ord(' '), ord('z'))));
}
// вернуться в начало файла rewind($fp);
// вывести и закрыть файл, // тем самым удалив его fpassthru($fp);
?>
boolean touch(string filename, integer time, integer atime)
Функция touch (листинг 9.46) делает попытку задать время, когда файл был модифицирован в последний раз, выраженное в секундах, прошедших с 1 января 1970 года. Если аргумент time пропущен, используется текущее время. Если имеется аргумент atime, в качестве времени доступа задается указанное время. Если файл не существует, будет создан файл нулевой длины. Эта функция всегда используется для создания пустых файлов.
Для определения времени последней модификации файла используйте функцию filemtime, а для определения времени последнего доступа - функцию fileatime.
Листинг 9.46. Функция touch
<?php
touch("data.txt");
?>
integer umask(integer umask)
Функция umask (листинг 9.47) возвращает разрешения, заданные при создании файлов. Если задан необязательный аргумент umask, будет получено значение как результат операции "логическое И" (&), выполненное с заданным целым числом и значением 0777. На платформе Windows эта функция не делает ничего и возвращает значение FALSE. Для того чтобы определить разрешения, установленные для определенного файла, можно воспользоваться функцией fileperms.
| Листинг 9.47. Функция umask_
<?php
printf("umask равна %o", umask(0444));
?>
boolean unlink(string filename)
Функция unlink (листинг 9.48) удаляет файлы. Для удаления каталога используется функция rmdir.
Листинг 9.48. Функция unlink
<?php
if(unlink("data2.txt"))
{
print(" файл data2.txt удален");
}
else
{
print(" файл data2.txt не может быть удален");
}
?>
vfprintf(resource file, string format, array values)
Функция vfprintf аналогична функции fprintf, за исключением того, что значения, определяющие формат, передаются в массиве.
ТОП-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. Операционная система. Часть Пятнадцатая. |