Урок 15. Функции для работы с файлами (продолжение)
Функция Utime
utime (Date1,Date2,список_файлов);
Изменяет дату обращения и модификации файлов из списка. Первые два элемента списка должны указывать новое значение даты обращения и модификации. Возвращает количество измененных файлов. Функция Truncate
truncate (файл, длина);
Усекает длину указанного файла.
Запишем в файл file.txt строку и усечем его до 15 байт:
#!/usr/bin/perl
# programm 15
print "Content-type: text/html\n\n";
$string = "This is a sample file";
print "Write to file: $string ";
open (file,">file.txt");
print file $string;
close file;
truncate ("file.txt",15);
open (file,"file.txt");
$string=;
close file;
print "Read from file: ",$string;
Функция Tell
tell (файл);
Возвращает текущую позицию указателя в открытом файле. Если файл не указан, то последнего читаемого файла.
Следующий код читает 15 байт из файла "file.txt". Непременное условие работы этого кода - длина файла должна быть более 15 байт.
print "";
open (file, "file.txt");
while (tell(file) < 15){
print getc(file);
}
print " ";
Функция Stat
stat (файл);
Возвращает 13 элементный массив параметров указанного файла или пустой список при ошибке. Применяется обычно следующим образом:
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat($filename);
- $dev - имя устройства
- $ino - номер i-узла
- $mode - права доступа
- $nlink - количество связей
- $uid - идентификатор
владельца
- $gid - идентификатор группы
- $rdev - тип устройства
- $size - размер файла в байтах
- $atime - дата последнего
обращения
- $mtime - дата последней
модификации
- $ctime - дата последнего
изменения статуса
- $blksize - размер блока на диске
- $blocks - количество блоков в
файле.
Следующий код выводит размер файла в байтах:
$u = (stat("file.txt"))[7];
print $u;
}
Функция Seek seek (FileVar, позиция, отсчет);
Установить указатель на произвольную позицию в файле. Если отсчет равен 0 - позиционировать от начала файла, если 1 - от текущего положения, 2 - от конца файла. Возвращает 1 при успехе и 0 - неудаче. Функция Chmod chmod (список);
Изменить права доступа к файлам указанным в списке. Первый элемент в списке - числовое ,обычно восьмеричное значение прав. Возвращает количество файлов которым были изменены права. Пример: chmod 0666 'f1', 'f2', 'f3';
* * * *
Напишите программу, которая выводит все сведения об указанном файле или сообщение об ошибке, если файл не найден.
Имя файла передается спомощью формы.
Напишите программу, которая выводит указанную строку файла с указанным смещением. Т.е. начинает вывод не с начала. Используйте функции Seek и Getc для решения этой задачи.
[Содержание]
[Вступление]
[необходимое для начала изучения]
[урок 1]
[урок 2]
[урок 3]
[урок 4]
[урок 5]
[урок 6]
[урок 7]
[урок 8]
[урок 9]
[урок 10]
[урок 11]
[урок 12]
[урок 13]
[урок 14]
[урок 15]
[урок 16]
[урок 17]
[урок 18]
[урок 19]
[урок 20]
[урок 21]
[урок 22]
[урок 23]
[урок 24]
[урок 25]
[урок 26]
[урок 27]
[урок 28]
[правила хорошего тона]
[приложение A]
[приложение Б]
[приложение В]
[заключение]
[благодарности]
|