Мне нужно знать, есть ли способ создать новую папку, если путь не существует. Когда я пытаюсь fopen() путь, он говорит NO such File or Directory exists
Я попытался открыть файл, используя 'w' и 'w +', но он не может создать новую папку. Есть ли способ достичь этого, не используя mkdir(). Потому что мне нужно каждый раз извлекать имена каталогов из пути в mkdir() каждый раз. Любая помощь приветствуется. Спасибо...
PHP: fopen для создания папок
Ответ 1
fopen не может создавать каталоги.
Вам нужно будет использовать что-то вроде:
$filename = '/path/to/some/file.txt';
$dirname = dirname($filename);
if (!is_dir($dirname))
{
mkdir($dirname, 0755, true);
}
Ответ 2
fopen не создает или не открывает папки, а только файлы. Вы должны сначала проверить с помощью is_dir
, если он существует, если не создать его. mkdir
имеет рекурсивный вариант создания.
if (!is_dir($myDir)) {
mkdir($myDir, 0777, true); // true for recursive create
}
Если вы ищете способ открыть каталог и прочитать его содержимое, вы должны посмотреть на SPL DirectoryIterator
Ответ 3
вы не можете использовать fopen для создания папок.
Чтобы создать папку, вы должны использовать mkdir
для операций, которые вы должны повторять каждый раз, существует функция языка, называемая "определяемые пользователем функции". Наименее известная функция PHP, как можно судить по ответам stackoverflow.