Script Problem

vom 14.02.2008, 15:39 Uhr

Hallo, ich arbeite an einem Script, der eine Datei erstellen soll und auch einen Inhalt einfuegen soll. Ich bin im Moment so weit, dass die Datei per Eingabefeld erstellt wird.

Nun ist das Problem: wie kann ich den inhalt bearbeiten?


Hier mal der Inhalt der datei 1:

Code: Alles auswählen
<form action="filecreate.php" method="post">
Dateiname(mit .php): <input type="text" name="name" />
<input type="submit" />
</form>


Die andere datei ist filecreate.php und hier ist der Inhalt:

Die Datei <?php echo $_POST["name"]; ?> wurde erstellt.
<?php
$ourFileName = $_POST["name"] ;
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fclose($ourFileHandle);
?>
Code: Alles auswählen

Erzaehlt mir bitte nicht ueber die Risiken den script so zu benutzen, ueber diese bin ich mir bewusst und werde es so einstellen, dass ein Passwort auf die Seite kommt.

Nun zum hauptpunkt:
Wie kann ich den Inhalt bearbeiten?
Ich will ein Formular auf filecreate.php erstellen, womit ich den Inhalt der eben erstellten datei bearbeiten kann(hinzufuegen)

Ich hoffe ihr koennt mir weiterhelfen.

MfG
Black Lion

» Black Lion » Beiträge: 191 » Talkpoints: 4,98 » Auszeichnung für 100 Beiträge



Das Zauberwort lautet fputs()

Mit der fopen()-Funktion im „w“- oder „w+“-Modus kannst du die Datei erstellen und dann mit der fputs()-Funktion mit Inhalt füllen.

Zum Beispiel:
$inhalt = $_POST['text'];
$dbfilecreate = $_POST['seite'];

$fp = fopen($dbfilecreate,"w+");
flock($fp, 2);
fputs($fp,stripslashes ($inhalt));
fclose($fp);


Wobei du folgende Variabeln definieren musst:

$dbfilecreate => z.b. mit $_POST['seite'] (also z.b ein Form mit dem Feld seite (beispielinhalt: testseite.php)

$inhalt => könntest du VOR dem 4zeiler definieren... z.B.

$inhalt = "Dies ist einer Fetter Text:<br><b>$fett</b></br>"

wobei Du $fett wieder Definieren musst z.B. mit $_POST['text'].

» stifler » Beiträge: 427 » Talkpoints: 46,27 » Auszeichnung für 100 Beiträge


Vielen dank, das hat soweit geklappt, doch es gibt noch ein anderes Problem:

fputs($fp,stripslashes ($inhalt));

Ist es moeglich vor den Inhalt einen bestimmten wert zu setzen, so dass es dann so aussieht:

Geschrieben von $inhalt


Ich weiss, dass es geht, doch ich weiss nicht mehr wie. Wenn du mir dies erklaeren koenntest, waere ich dir wirklich dankbar.

MfG

Black Lion

» Black Lion » Beiträge: 191 » Talkpoints: 4,98 » Auszeichnung für 100 Beiträge



Einfach mit:

echo "Geschrieben von $inhalt";

Der Echo-Befehlt ist so ziemlich das Grundlegendste und wenn du den noch nicht kennst, würde ich dir empfehlen, fang mit php ganz von Anfang an, bevor du versuchst komplexere scripte zu bauen.

Wenn du noch Fragen hast stehe ich gerne zur Verfügung.

Viele Grüße,
stifler

» stifler » Beiträge: 427 » Talkpoints: 46,27 » Auszeichnung für 100 Beiträge



Ähnliche Themen

Weitere interessante Themen

^