Урок 14: Файловая система
С помощью PHP вы можете получить доступ к файловой системе сервера. Это даёт возможность работать с папками и текстовыми файлами в РНР-скриптах.
Например, можно использовать PHP для чтения и записи текстовых файлов. Либо можно получить список всех файлов в папке. Возможностей много, и РНР может избавить вас от рутинной работы.
Здесь мы посмотрим, как можно использовать РНР для работы с файлами и папками. Цель - дать вам общее представление. В следующих уроках мы более подробно рассмотрим эти возможности. Полный список см. в документации.
- filemtime
- Возвращает время, когда файл в последний раз редактировался (в виде UNIX timestamp - см. Урок 4)).
- fileatime
- Возвращает время, когда к файлу в последний раз осуществлялся доступ (в виде UNIX timestamp - см. Урок 4)).
- filesize
- Возвращает размер файла, в байтах.
Попробуем определить эти три свойства файла: "/tutorials/php/lesson14.php"
<html>
<head>
<title>Файловая система</title>
</head>
<body>
<?php
// Найти и записать свойства
echo "<h1>file: lesson14.php</h1>";
echo "<p>В последний раз редактировался: " . date("r", filemtime("lesson14.php"));
echo "<p>В последний раз был открыт: " . date("r", fileatime("lesson14.php"));
echo "<p>Размер: " . filesize("lesson14.php") . " байт";
?>
</body>
</html>
Отображение примера
Папки
PHP позволяет также работать с папками на сервере. Мы не будем рассматривать все возможности - только покажем на примере. Не забывайте смотреть документацию.
- opendir
- Открывает специфицированную папку/директорию.
- readdir
- Возвращает имя следующего файла в открытой папке (соотв. opendir)
- closedir
- Закрывает специфицированную папку/директорию.
В примере создаётся листинг папки "tutorials/php/".
<html>
<head>
<title>FileSystemObject</title>
</head>
<body>
<?php
// Открыть папку
$folder = opendir("../../tutorials/php/");
// Цикл по всем файлам папки
while (($entry = readdir($folder)) != "") {
echo $entry . "<br />";
}
// Закрыть папку
$folder = closedir($folder);
?>
</body>
</html>
Отображение примера
В этом примере сначала открывается директория "../../tutorials/php/". Затем используется цикл для написания имени следующего файла в папке, если файлы ещё есть. В конце папка закрывается.
В следующих уроках мы узнаем, как как читать и записывать текстовые файлы.
|