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