Создание директории и файла [Проблема]

Slugo

Новичок
PHP:
<?php
//engine.php
$handle = fopen("file.txt", "w");
$handle = fopen("/cat/file.txt", "w");
?>
Выполняю этот скрипт на локальной машине.
http://localhost:8888/localweb/file/engine.php

В директории "file" создается "file.txt", но второй оператор не создает директорию "cat" и выдает следующую ошибку:
Warning: fopen(/cat/file.txt) [function.fopen]: failed to open stream: No such file or directory in C:\localweb\file\engine.php on line 4
В чем моя ошибка? (...ну кроме решения стать кодером)
Да, и для чего присваивать переменной, то что выдает функция? Хотя и без написания переменных перед функцией дает тот же результат.
 

Slugo

Новичок
Пытаюсь создать папку "cat", а в ней "dir", ну а в "dir" file.txt
PHP:
<?php
mkdir("/cat/dir", 0700);
fopen("cat/dir/file.txt", "w");
?>
Так тоже не выходит.
PHP:
mkdir("cat", 0700);
mkdir("/cat/dir", 0700);
fopen("cat/dir/file.txt", "w");
 

LIME

Новичок
не mkdir("/cat/dir", 0700);
а mkdir("cat/dir", 0700);
если указать первый слеш это означает в корне сайта
 

Slugo

Новичок
1) А можно создать две директории (одна вложена в другую) с помощью одной функции?
2) Для чего используют переменную ($handle - в примере ниже) перед функцией?
PHP:
$handle = fopen("/cat/file.txt", "w");
Спасибо.
 

LIME

Новичок
1-нет
2-это указатель на открытый файл
в дальнейшем используется для чтения/записи в файл
 

Redjik

Джедай-мастер
1) А можно создать две директории (одна вложена в другую) с помощью одной функции?
Да,
// Для создания вложенной структуры необходимо указать параметр
// $recursive в mkdir() .
if (!mkdir($structure, 0, true)) {
die('Не удалось создать директории...');
}
Внимательно ОБА читаем тут
 

Redjik

Джедай-мастер
+ через exec на windows просто mkdir - дает вложенность, на linux mkdir -p
 
Сверху