Я создаю систему управления контентом, с помощью которой пользователь может динамически создавать категории и разделы через интерфейс. Он управляется PHP и MySQL - когда пользователь щелкает форму для отправки информации о пользователе в базу данных, он динамически создает каталог (если он еще не существует) и индексный файл (если он еще не существует). Кроме того, пользователь может указать конкретный файл, соответствующий создаваемому разделу, который также создается одновременно.
Я получил все, что мне нужно: каталог, индексный файл и файл раздела, но я также получаю сообщение об ошибке mkdir (). В предупреждении говорится: «Предупреждение: mkdir () [function.mkdir]: файл существует в ..» и указывается строка, в которой отображается функция mkdir. Я использую функцию file_exists (), чтобы убедиться, что каталог и индексный файл еще не существуют, однако, похоже, что он не работает. Есть идеи?
Мой код:
$dir = $category."/";
if (file_exists($_SERVER['DOCUMENT_ROOT'].$dir)) {
chdir($dir);
$newFileName = $link_name.".php";
$newFileHandle = fopen($newFileName, 'w+') or die("can't open file");
$category = $_POST['category'];
$category = strtoupper($category);
fwrite($newFileHandle, implode("\r\n", $content));
fwrite($newFileHandle, '"'.$category.'"'.';');
fwrite($newFileHandle, implode("\r\n", $php_cat_content));
fwrite($newFileHandle, '"'.$section_name.'"'.';');
fwrite($newFileHandle, implode("\r\n", $php_sec_content));
fclose($newFileHandle);
}
else {
$dir = str_replace (" ", "", $category) ."/";
mkdir($dir, 0777);
chdir($dir);
if (!file_exists("index.php")) {
$index_fn = "index.php";
$index_fh = fopen($index_fn, 'w+') or die("can't open file");
$category = $_POST['category'];
$category = strtoupper($category);
fwrite($index_fh, implode("\r\n", $content));
fwrite($index_fh, '"'.$category.'"'.';');
fwrite($index_fh, implode("\r\n", $php_cat_content));
fwrite($index_fh, '"'.$section_name.'"'.';');
fwrite($index_fh, implode("\r\n", $php_sec_content));
fclose($index_fh);
}
else {
$newFileName = $link_name.".php";
$newFileHandle = fopen($newFileName, 'w+') or die("can't open file");
$category = $_POST['category'];
$category = strtoupper($category);
fwrite($newFileHandle, implode("\r\n", $content));
fwrite($newFileHandle, '"'.$category.'"'.';');
fwrite($newFileHandle, implode("\r\n", $php_cat_content));
fwrite($newFileHandle, '"'.$section_name.'"'.';');
fwrite($newFileHandle, implode("\r\n", $php_sec_content));
fclose($newFileHandle);
}