Hallo,
eventuell ist meiner Überschrift etwas ungeschickt formuliert. Ich
wusste aber nicht wie ich mein Problem kurz beschreiben kann.
Es sieht wie folgt aus:
Ich habe 2 Formulare, eins mit einem DropDown Menü in welchem
alle .html Dateien in einem Verzeichnis aufgelistet werden, welche
man dann dort auswählen kann, damit diese in einen Editor
(TinyMCE) genauer gesagt in eine Textarea geladen werden.
Wenn dort Änderungen vorgenommen werden will ich das man
diese in die selbe Datei speichern kann.
Sieht folgendermaßen aus:
Formular 1:
<form method="post" action="#">
<select name="choose" size="1" id="choose">
<?php
if ($handle = opendir('../ordner)) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
if(strrchr($file,".html")) {
echo "<option>$file</option>";
}
}
closedir($handle);
}
?>
</select>
<input type="submit" name="laden" value="Laden" />
</form>
Script zum Öffnen der ausgewählten Datei:
<?
if (isset($_POST['laden']))
{
$select_field = $_POST['choose'];
echo $select_field;
$fp = fopen ($select_field, "r");
$txt = fread ($fp, filesize ($select_field));
fclose ($fp);
}
?>
Formular 2 mit der Textarea und dem Script zum Speichern:
<form method="post" action="#">
<p>
<textarea name="content" cols="100" rows="35"><?php echo
$txt; ?></textarea>
</p>
<p>
<input type="submit" name="save" value="Speichern" />
</p>
</form>
<?
if(isset($_POST['save'])) {
$inhalt = $_POST['content'];
$data = fopen($select_field,"a+");
fwrite($data,$inhalt);
fclose($data);
}
?>
So nun kommt die Fehlermeldung:
"Warning: fwrite(): supplied argument is not a valid stream resource"
Ich denke das liegt daran, dass die Variable $select_field nichtmehr
definiert ist und somit der Dateiname "verloren" geht.
Hat jemand vielleicht einen Lösungsansatz wie man diesen
Dateinamen dort trotzdem nochmal verwenden kann, oder liegts
eventuell an was ganz anderem?
Vielen Dank!