Полный цикл в digital

Работа с директориями

В PHP есть набор функций для работы с директориями, получение списка файлов в папке, копирование и удаление содержимого папок.

Функции для работы с директориями

  • mkdir() создаёт директорию с указанным именем, подробнее
  • rmdir() удаляет директорию с указанным именем. Удаляет только пустые директории. Если директория не пуста, сначала нужно удалить всё её содержимое, подробнее
  • scandir() читает содержимое директории и возвращает массив, содержащий имена файлов и поддиректорий, подробнее
  • rename() используется для перемещения и переименования директорий, подробнее
  • is_dir() определяет, является ли указанный путь директорией, подробнее
  • file_exists() проверяет, существует ли файл или директория с указанным именем, подробнее
  • opendir(), readdir(), closedir() предоставляют более низкоуровневый способ чтения содержимого директории. Позволяют открывать директорию, читает содержимое по одному элементу, закрывать директорию после завершения работы подробнее

Создаёт директорию с указанным именем, mkdir ()

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

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

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

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

Удаляет директорию с указанным именем, rmdir ()

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

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

Cоздание директории с указанным именем, scandir ()

Функция scandir(), возвращает массив в котором будут «.», «..» и есть возможность сортировки.

<?
function list_files($path)
{
	if ($path[mb_strlen($path) - 1] != '/') {
		$path .= '/';
	}

	$files = array();
	$dh = opendir($path);
	while (false !== ($file = readdir($dh))) {
		if ($file != '.' && $file != '..' && !is_dir($path.$file) && $file[0] != '.') {
			$files[] = $file;
		}
	}

	closedir($dh);
	return $files;
}

print_r(list_files(__DIR__));

Перемещение и переименование директорий, rename ()

С помощью функции rename() можно переименовывать папки:

<?
rename('old', 'new');

Определяет, является ли указанный путь директорией, is_dir ()

Пусть у вас есть строка, содержащая путь к папке. С помощью специальной функций is_dir() мы можем отличить, ссылается путь на папку:

<?
$path = 'путь';
// true для папки, false для файла
var_dump(is_dir($path));

Проверяет, существует ли файл или директория с указанным именем, file_exists ()

Проверить существование файла или каталога в PHP можно с помощью функции file_exists(). Она принимает путь к файлу или каталогу и возвращает TRUE, если файл или каталог существует, иначе возвращает FALSE:

<?
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
    echo "Файл $filename существует";
} else {
    echo "Файл $filename не существует";
}

Низкоуровневая работа с файлами opendir (), readdir (), closedir ()

Эти функции предоставляют более низкоуровневый способ чтения содержимого директории. Они позволяют открывать директорию, читать её содержимое по одному элементу и закрывать директорию после завершения работы.

<?
$path = 'some_directory';
if ($handle = opendir($path)) {
    while (false !== ($entry = readdir($handle))) {
        echo $entry . "\n";
    }
    closedir($handle);
}
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг