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

В следующих уроках мы узнаем, как как читать и записывать текстовые файлы.



<< Урок 13: Куки

Урок 15: Чтение из текстового файла >>