Файлы
Перемещение файла
Для перемещения файла применяется функция 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); // закрываем каталог
}
}
?>