Моя структура папок похожа –
root admin create_page.php pages my_page1.php my_page2.php
У меня есть код для создания нового php-файла в папке «pages». код похож –
$dir_path = "../pages/"; $ourFileName = '../'.$page_name.".txt"; $ourFileHandle = fopen($ourFileName, 'w') or die("can't open file"); $ourFileContent = '<?php echo "something..." ?>'; if (fwrite($ourFileHandle, $ourFileContent) === FALSE) { echo "Cannot write to file ($filename)"; exit; }
Код выполняется нормально. Нет проблемы. но страница не создается. скажите, пожалуйста, что я делаю неправильно. есть проблема с путём? fclose ($ ourFileHandle);
Вот пример использования более простой файловой_папки_компьютера () для fopen, fwrite, fclose
<?php error_reporting(E_ALL); $pagename = 'my_page1'; $newFileName = './pages/'.$pagename.".php"; $newFileContent = '<?php echo "something..."; ?>'; if (file_put_contents($newFileName, $newFileContent) !== false) { echo "File created (" . basename($newFileName) . ")"; } else { echo "Cannot create file (" . basename($newFileName) . ")"; } ?>
$ourFileHandle = fopen("../pages/" .$ourFileName, 'w') or die("can't open file");
Сделайте вышеуказанное изменение в третьей строке, и это, вероятно, сработает; Я попробовал, и это сработало.
умышленно ли вы упустили конкатенацию $ dir_path и $ ourFileName;
Теперь
Если бы та же проблема, файл не будет создан в папке, имеющей другое разрешение, убедитесь, что права на папки одинаковы, как и другие файлы.
Попробуй это
$pagename = 'your_filename'; $newFileName = '../pages/'.$pagename.".php";