Здравствуйте! Подскажите пожалуйста:
есть рабочий код:
<?php
// получаем путь к файлу из поля ввода path
$path = ($_POST ['path'] != '') ? $_POST ['path'] : false;
if (isset($_POST['submit-path'])) { //Действия по нажатию "Open"
if ($path) $content = file_get_contents ($path);
else echo "Не введен путь!";
}
if (isset($_POST['submit-content'])) { //Действия по нажатию "Save"
$buffer = $_POST ['content']; //получаем content из поля ввода в переменную buffer
if ($buffer) file_put_contents ($path, $buffer); echo "Файл успешно сохранён";
}
?>
<div id = "editform">
<form method = "post">
<input type = "text" name = "path" value = "<?=$path?>">
<br>
<input type = "submit" name = "submit-path" value = "Open">
<br>
<textarea cols = "60" rows = "40" name = "content" id = "content" value = ><?=$content;?></textarea>
<br>
<input type = "submit" name = "submit-content" value = "Save">
</form>
</div>
<select name = "fselector">
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<option>$file\n</option>";
}
}
closedir($handle);
}
?>
Делает он следующее:
клиент смотрит список файлов, в поле
path вбивает его имя, из поля
path с помощью POST запроса формируется переменная
$path нажимает кнопку Open и в переменную $content .записывается содержимое этого файла. Затем переменная
$content отображается в поле
content. Клиент может изменить содержимое файла (редактирует поле
content) и нажимает кнопку "Save", после чего содержимое переменной
$buffer пишется в искомый файл. Но если поменять текстовое поле на селектор, всё перестаёт работать:
<?php
// получаем путь к файлу из селектора fselector
$path = $_POST ['fselector'];
if (isset($_POST['submit-path'])) { //Действия по нажатию "Open"
if ($path) $content = file_get_contents ($path);
else echo "Не введен путь!";
}
if (isset($_POST['submit-content'])) { //Действия по нажатию "Save"
$buffer = $_POST ['content']; //получаем content из поля ввода в переменную buffer
if ($buffer) file_put_contents ($path, $buffer); echo "Файл успешно сохранён";
}
?>
<div id = "editform">
<form method = "post">
<br>
<input type = "submit" name = "submit-path" value = "Open">
<br>
<textarea cols = "60" rows = "40" name = "content" id = "content" value = ><?=$content;?></textarea>
<br>
<input type = "submit" name = "submit-content" value = "Save">
</form>
</div>
<div id = "list">
<select name = "fselector">
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<option>$file\n</option>";
}
}
closedir($handle);
}
?>
</select>
</div>
Если быть точным, то
if (isset($_POST['submit-path'])) { //Действия по нажатию "Open"
if ($path) $content = file_get_contents ($path);
else echo "Не введен путь!";
пишет, что путь не введён (т.е. переменная
$path не задана).
Также буду благодарен, если подскажете, как открывать файл на редактирование (чтение) по клику по имени файла, а при клике по директории открывалась другая директория.