Управление файлами и каталогами

Последнее обновление: 1.11.2015

Перемещение файла

Для перемещения файла применяется функция rename():

<?php
if (!rename("hello.txt", "subdir/hello.txt"))
	echo "Ошибка перемещения файла";
else echo "Файл перемещен";
?>

Если у нас в каталоге файла hello.txt имеется подкаталог subdir, то файл будет в него перемещен. Если файл был успешно перемещен, функция возвратит значение true.

Копирование файла

Для копирования файла используется функция copy(). Она принимает имя копируемого файла, и имя копии файла. И если копирование прошло успешно, возвращает значение true:

<?php
if (copy("hello.txt", "hello_copy.txt"))
	echo "Копия файла создана";
else echo "Ошибка копирования файла";
?>

Удаление файла

Для удаления файла применяется функция unlink, которая принимает имя файла и возвращает значение true при успешном удалении файла:

<?php
if (unlink("hello_copy.txt"))
	echo "Файл удален";
else echo "Ошибка при удалении файла";
?>

Создание каталога

Для создания каталога используется функция mkdir():

if(mkdir("newdir"))
	echo "Каталог создан";
else
	echo "Ошибка при создании каталога";

В данном случае mkdir создает новый каталог "newdir" в текущем каталоге. Если создание пройдет успешно, то функция возвращает значение true, иначе - false

Для создания новой папки в корневом каталоге можно использовать выражение mkdir("/newdir").

Удаление каталога

Для удаления каталога применяется функция rmdir(). Ее использование аналогично mkdir():

if(rmdir("newdir"))
	echo "Каталог удален";
else
	echo "Ошибка при удалении каталога";

Операции с каталогами

Для получения абсолютного пути к текущему каталогу используется функция getcwd(), которая возвращает путь в виде строки:

$path = getcwd();
echo $path; // C:\localhost

Функция opendir() открывает определенный каталог для считывания из него информации о файлах и каталогах. При успешном открытии каталога функция возвращает дескриптор открытого каталога. После окончания работы с каталогом его надо закрыть функцией closedir().

Для считывания имени отдельного файла в открытом каталоге применяется функция readdir().

Теперь объединим эти функции и выведем на страницу все файлы и подкаталоги из текущего каталога:

<?php
$dir = getcwd(); // получаем текущий каталог

if (is_dir($dir)) // является ли путь каталогом
{
    if ($dh = opendir($dir)) // открываем каталог
	{
		// считываем по одному файл или подкаталогу
		// пока не дойдем до конца
        while (($file = readdir($dh)) !== false) 
		{
			// пропускаем символы .. и .
			if($file=='.' || $file=='..') continue;
			// если каталог или файл
			if(is_dir($file)) echo "каталог: $file 
"; else echo "файл: $file
"; } closedir($dh); // закрываем каталог } } ?>
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850