Функции операций над файлом позволяют:
· изменить время последней модификации и последнего доступа к файлу;
· переименовывать, перемещать, копировать и удалять файлы.
Изменить время последней модификации и последнего доступа к файлу можно с помощью функции
bool touch(string filename [, int mtime] [, int atime])
Эта функция изменяет время последней модификации файла на значение mtime и время последнего доступа к файлу на значение atime. Если параметр mtime не задан, время последней модификации принимает значение текущего времени. Если файл с указанным именем не существует, он создается. В случае успеха функция возвращает значение true, в противном случае возвращает false.
Пример 4.6.139. Использование функции touch():
Следующий фрагмент программы изменяет дату последней модификации для файла в каталоге d:/Uploads:
// Задание имени файла
$modFileName = "d:/Uploads/Chapter1-1.doc";
// Задание времени последней модификации файла
$newMtime = mktime(0, 0, 0, 5, 16, 2008);
// Изменение времени последней модификации файла
touch($modFileName, $newMtime);
|
|
// Получение времени последней модификации файла
$docFileMtime = filemtime($modFileName);
// Получение массива даты и времени
$dateTime = getDate($docFileMtime);
// Вывод времени последней модификации файла
echo "\nFile: $modFileName ", " Last modification: ",
$dateTime['mday']." ". $dateTime['month'].
" ".$dateTime['year'];
Вывод этого фрагмента имеет следующий вид:
Переименование, перемещение, копирование и удаление файлов выполняется с помощью функций rename(),copy(), move_uploaded_file()и unlink().
Функция
bool rename(string oldname, string newname)
переименовывает файл или каталог. При указании в параметре newname другого каталога файл перемещается в него. В случае успеха функция возвращает значение true, в противном случае возвращает false.
Функция
bool copy(string source, string dest)
переписывает содержимое файла source в файл dest. В случае успеха функция возвращает значение true, в противном случае возвращает false.
Функция
bool move_uploaded_file(string source, string dest)
перемещает загруженный с Web-браузера файл source в файл dest. В случае успеха функция возвращает значение true, в противном случае возвращает false. Эта функция используется в примере 4.6.90.
Функция
bool unlink(string filename)
удаляет файл filename. В случае успеха функция возвращает значение true, в противном случае возвращает false.
Пример 4.6.140. Использование функций rename(), copy() и unlink():
Следующий фрагмент программы выполняет операции над файлами каталога и, в случае успешного завершения, выводит сообщение о выполненной операции:
// Переход в каталог "d:/Uploads/"
chdir("d:/Uploads/");
// Переименование файла php.pdf
$isrenamed = rename("php.pdf", "PHP-tutorial.pdf");
// Вывод сообщения о переименовании
if($isrenamed)
print "\nFile php.pdf is renamed. ".
"New name: PHP-tutorial.pdf";
|
|
// Удаление файла testworld.exe
$isdeleted = unlink("testworld.exe");
// Вывод сообщения об удалении
if($isdeleted)
print "\nFile testworld.exe is deleted";
// Создание каталога "d:/NewUploads/"
mkdir("d:/NewUploads/");
// Копирование файла Introduction.doc
// в каталог NewUploads
$iscopied =
copy("Introduction.doc", "d:/NewUploads/Introduction.doc");
// Вывод сообщения о копировании
if($iscopied)
print "\nFile Introduction.doc".
" is copied to NewUploads directory";
// Перемещение файла dircont.html
// в каталог NewUploads
$ismoved =
rename("dircont.html", "d:/NewUploads/dircont.html");
// Вывод сообщения о перемещении
if($ismoved)
print "\nFile dircont.html".
" is moved to NewUploads directory";
Вывод этого фрагмента имеет следующий вид:
4.6.19.4. Функции ввода/вывода