Как сделать папку с помощью функции mkdir
Для того, чтобы сделать папку будем использовать функцию mkdir. И еще нам нужен путь, который и будет путем для новой папки.
Что такое mkdir, как применять при создании папки на сервере с помощью php.
Все о функции mkdir - создании папки
- Что такое mkdir - как переводится, что возвращает!?
- Создание папки mkdir по пути на сервере
- Проверка на существование папки на сервере
- Как создать несколько вложенных папок mkdir
- Скачать
Что такое mkdir - как переводится
Немного теории из учебника про создание папки и использование mkdir :
Как переводится mkdir
Вообще mkdir образовано от двух слов
Функция mkdir создает папку по заданному пути.
Как создать папку с помощью mkdir?
По умолчанию функция «mkdir» создает с правами 0777, если вам нужно поставить свои права, то нужно использовать такую конструкцию:
Вторая позиция, которая называется Аргумент mode игнорируется в Windows и стал необязательным начиная с версии PHP 4.2.0.
С учебником разобрались, а теперь... попробуем создать тестовую папку без Аргумента mode и...
второй раз... создадим папку тестовую уже сНе то, чтобы мне это было надо, возможно где то, этот mode настраивается! За все время вообще - это редкий случай, когда приходится обращаться к правам папок!
Что возвращает mkdir!?
Функция mkdir возвращает при успешной работе TRUE и иначе FALSE, у функции есть 4 параметра, о которых мы, здесь не будем углубляться – об одном из параметров мы сказали это «mode» - права(0700).
В случае существовании папки вернет ошибку типа WarningСоздание папки mkdir по пути на сервере
Для нахождения пути на сервере к корневой папке используйте конструкцию:
Что означает – корневую папку. Соответственно «путь_до_папки» - это путь от корневой папки.
Итого у вас должно получиться
$dir = $home . "/путь_до_папки/название_создаваемой_папки"; //путь до папки
Проверка на существование папки на сервере
Для того, чтобы не создавать множество папок с одинаковыми названиями проверяйте есть ли папка с таким названием - Это кажется странным, но почему-то на сервере создавались папки с одинаковыми названиями! Я не знаю, это нормальное поведение сервера или нет, но я так думал, что сервер будет вести себя как папки на компьютере. Оказалось, нет.
Хотя я и не уверен, что это будет так же происходить на другом сервере..
Поэтому, для того, чтобы не происходил такой сбой – лучше проверить есть ли такая папка.
Для этого можно использовать функцию - file_exists – хотя её прямое предназначение проверять файлы, но с папками она тоже замечательно справляется!
Вместо file_exists - можно и нужно использовать is_dirif (file_exists($dir))
{
echo "Папка уже существует";
}
else
{
тут конструкция создания папки
}Как создать несколько вложенных папок mkdir
Для того, чтобы создать путь из папок, какой бы длины он не был достаточно добавить одно слово к функции mkdir
Предположим, что у вас есть некий путь в переменной. Из этого всего, что размещено ниже существует путь только "$_SERVER['DOCUMENT_ROOT']"
Проверяем существование этой папки с помощью is_dir
И после доступа к папке(0777), после запятой пишем "
В случае, если этот путь не существует, то произойдет ошибка, чтобы она не выскакивала и не останавливала наш код... нам нужна собака @ перед "mkdir"