ТОП-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

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, за исключением того, что значения, определяющие формат, передаются в массиве.

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



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