Pintus: fopen/write Fehler?

Beitrag lesen

Hallo!

Ich habe folgenden Code erstellt.

<?php
$fn="/verzeichnis1/include/news.txt"; // Dateiname für die Daten
$pwd="master"; // Admin-Kennwort
$me=4; // Maximale Anzahl alter Newseinträge

$now=strftime("%d.%m.%Y %H:%M:%S");
if (!isset($action)) { $action=""; }

if (file_exists($fn)) // Vorhandene Einträge laden
{
$fp=fopen($fn,"r");
$dat=fread($fp,filesize($fn)); // Daten lesen
fclose($fp);

$line=explode("\n",$dat); // Zeilen in Array packen
$anz=count($line)-1; // Anzahl der Einträge feststellen
}

if ($me>$anz) { $me=$anz; } // Schreibmaximum = MaxAnzEinträge

if ($action=="send") // Neuen Eintrag schreiben
{
if ($pass==$pwd) // Kennwort überprüfen
{
$text=str_replace("\n","",$text); // Zeilenumbrüche aus der Textarea umwandeln

$entry="<div class=datum>Geschrieben am: $now</div>$text";
$fp=fopen($fn,"w");
$res1=fwrite($fp,"$entry\n"); // Daten schreiben

// Alte Einträge anhängen, wenn vorhanden
if ($anz>0) { for($j=0;$j<$me;$j++) { fwrite($fp,"$line[$j]\n"); } }
fclose($fp);

if ($res1==0) // Schreibresultat auswerten
{
echo "<font color=red>Fehler beim schreiben.</font>"; // Fehlermeldung ausgeben
} else {
echo "<div class=w>$entry</div>"; // Neuen Eintrag anzeigen
}
} else {
echo "<font color=red>Falsches Kennwort.</font>";
}
}

// Einträge anzeigen
if ($action!="new") { for ($i=0;$i<$anz;$i++) { echo "<div class=n>$line[$i]\n</div>"; }}

if ($action=="new") // Eingabeformular anzeigen
{
echo "<form name=form1 action=news.php method=post>";
echo "<table cellpadding=0 cellspacing=2 border=0>";
echo "<tr><td>Kennwort: </td><td align=right><input type=text name=pass></td></tr>";
echo "<tr><td colspan=2>Text<textarea name=text></textarea></td></tr>";
echo "<tr><td colspan=2 align=right><input class=b type=submit name=action value=send></td></tr>";
echo "</table>";
echo "</form>";
echo "<script>document.form1.pass.focus();</script>";
}

// Links
echo "<hr><a href='news.php?action=new'>Neuer Eintrag</a> - <a href='news.php'>Lesen</a>";
?>

aber jedesmal wenn ich die datei aufrufe, habe ich folgende fehler

Warning: fopen(): open_basedir restriction in effect. File(/verzeichnis1/include/news.txt) is not within the allowed path(s): (/var/www/l3s5188/) in /var/www/l3s5188/html/verzeichnis1/admin/news.php on line 104

Warning: fopen(/verzeichnis1/include/news.txt): failed to open stream: Operation not permitted in /var/www/l3s5188/html/thillainathan/admin/news.php on line 104

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/l3s5188/html/verzeichnis1/admin/news.php on line 105

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/l3s5188/html/verzeichnis1/admin/news.php on line 109
Fehler beim schreiben.

Nebenbei noch eine kleine Frage:

Muss ich beiden Dateien (news.php und news.txt) CHMOD 777 geben? Oder reicht es, wenn news.php CHMOD 777 hat?

Gruß

Pintus