У меня есть пользовательская HTML-форма на моем сайте. При «отправке» формы я использую буферизацию PHP для сохранения вывода в виде html-файла в моей корневой директории.
В настоящее время файл успешно генерируется и сохраняется с назначенным именем страницы, которое он получает из одного из полей формы. Все идет нормально.
Следующий код прекрасно работает для достижения этой цели:
<?php
ob_start();
$headline=preg_replace('#[^_0-9a-zA-Z]#', '_', $_REQUEST['banner']);
?>
/* My 'Form Page' Content Here */
<?php
echo '';
file_put_contents($headline . '.html', ob_get_contents());
Тем не мение….
Я хотел бы включить в форму раскрывающийся селектор с различными «разделами», такими как «Новости», «Спорт», «Погода» и т. Д., Чтобы выбрать конкретную директорию (папку) на моем сервере. , поэтому сгенерированный HTML-файл будет сохранен в назначенном каталоге.
Мне нужна помощь на стороне поля формы, а также на стороне буферизации php для достижения этой цели. Я не уверен, с чего начать.
Добавить раскрывающийся список каталогов:
<select name="directory">
<option value="news">News</option>
<option value="sports">Sports</option>
...
</select>
Затем используйте это как часть каталога имени файла в сценарии:
$dir = $_REQUEST['directory'];
$valid_directories = array('news', 'sports', 'weather', ...);
if (!in_array($dir, $valid_directories)) {
die("Invalid directory");
}
file_put_contents("$dir/$headline.html", ob_get_contents());
Других решений пока нет …