Урок 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/". Затем используется цикл для написания имени следующего файла в папке, если файлы ещё есть. В конце папка закрывается.
В следующих уроках мы узнаем, как как читать и записывать текстовые файлы.