Работа с файловой системой

Файлы

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

Для перемещения файла применяется функция 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 <br>";
            else echo "файл:    $file <br>";
        }
        closedir($dh); // закрываем каталог
    }
}
?>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *