AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Datei schreiben

Offene Frage von "Chrissi91"
Ein Thema von Chrissi91 · begonnen am 11. Dez 2006 · letzter Beitrag vom 12. Dez 2006
Antwort Antwort
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#1

[PHP] Datei schreiben

  Alt 11. Dez 2006, 13:53
Hi,

ich möchte in PHP eine Datei überschreiben mit folgendem Code:

$handle = fopen("../news.php","w");
fwrite($handle, $text);
fclose($handle);

Aber der Server gibt immer folgende Fehler aus:

Zitat:
Warning: fopen(../news.php) [function.fopen]: failed to open stream: Permission denied in /srv/www/vhosts/pyrgo.de/httpdocs/admin/news.php on line 15

Warning: fwrite(): supplied argument is not a valid stream resource in /srv/www/vhosts/pyrgo.de/httpdocs/admin/news.php on line 16

Warning: fclose(): supplied argument is not a valid stream resource in /srv/www/vhosts/pyrgo.de/httpdocs/admin/news.php on line 17
Ich habe diesen Code so zig mal bei Google gefunden. Aber warum zeigt er bei mir einen Fehler an. Der Code schaut doch ganz gut aus, oder nicht?

Grüße aus Berlin

Chrissi91
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: [PHP] Datei schreiben

  Alt 11. Dez 2006, 13:54
Ja, sieht er. Bist du dir aber sicher, dass der Web-Benutzer Schreibrechte in dem Ordner hat? Meistens musst du mit Hilfe von chmod die Rechte des Ordners auf 777 setzen, damit du was schreiben kannst. Dies sollte mit jedem halbwegs faehigem FTP-Programm moeglich sein.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#3

Re: [PHP] Datei schreiben

  Alt 11. Dez 2006, 14:33
Nein, bin ich nicht.

Ich bin aber gerade nicht zu Hause. Bin bei einem Freund, der etwas zurückgeblieben ist und kein FTP - Programm auf dem Rechner hat. Ich teste es aber mal zu Hause. Danke für deine Hilfe.

Chrissi91
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#4

Re: [PHP] Datei schreiben

  Alt 11. Dez 2006, 17:58
Hi,

es klappt. Nur ist mir noch ein Fehler aufgefallen, der den Schreib- und Lesevorgang betrifft.

Ich bastel mir ja gerade ein kleines CMS für mich. Es wird z.B. die Datei "news.php" eingelesen und in ein Textfeld geladen. Dann kann ich den Programmiercode verändern und speichern. Aber es gibt ein Problem:

Ich habe den Code beim Laden so bekommen:

Code:
<?php include_once(\"header.php\"); ?>
<h3>News</h3>


[b]01.01.2007[/b]



Die Seite <a href=\"http://www.pyrgo.de/\">Pyrgo.de</a> hat jetzt ein neues Design, ein verbessertes CMS (Content Management System) und ein ausgefeiltes Newslettersystem. Ich finde, dass das neue Design von Cordobo mehr her macht und durch die hellere Farbwahl ansprechender wirkt. Außerdem lassen sich in diesem Template leichter Menüumstrukturierungen vornehmen.


<?php include_once(\"footer.php\"); ?>
Und nach mehrmaligem Verändern sieht es so aus (DAmit meine ich, ich habe geladen, gespeichert, geladen, gespeichert, etc.):

Code:
<?php include_once(\\\\\\\"header.php\\\\\\\"); ?>
<h3>News</h3>


[b]01.01.2007[/b]



Die Seite <a href=\\\\\\\"http://www.pyrgo.de/\\\\\\\">Pyrgo.de</a> hat jetzt ein neues Design, ein verbessertes CMS (Content Management System) und ein ausgefeiltes Newslettersystem. Ich finde, dass das neue Design von Cordobo mehr her macht und durch die hellere Farbwahl ansprechender wirkt. Außerdem lassen sich in diesem Template leichter Menüumstrukturierungen vornehmen.


<?php include_once(\\\\\\\"footer.php\\\\\\\"); ?>
Woran könnte es liegen. Der Code schaut wie folgt aus:

Code:
<?php
  session_start();
  include_once("header.php");
?>

<h3>Administration</h3>


<?php
  if ($_SESSION['password'] == "11c1fbc072d4c56e51b88049845af052"){
    $filename = "../news.php";
    $handle = fopen ($filename, "rb");
    $inhalt = fread ($handle, filesize ($filename));
    fclose ($handle);
    echo("[b]Hier k&ouml;nnen Sie die News &auml;ndern.[/b]

<form action=\"$PHP_SELF\" method=\"post\"><textarea rows=\"20\" cols=\"50\" name=\"text\">".$inhalt."</textarea>

<input type=\"submit\" value=\"Speichern\" name=\"save\"></form>");
   if ($_POST['save']!=""){
      $handle = fopen("../news.php","w");
      fwrite($handle, $text);
      fclose($handle);
    }
  } else {
   echo("[b]Sie sind nicht berechtigt auf diese Seite zuzugreifen.[/b]

<form action=\"<?php $PHP_SELF ?>\" method=\"post\">[b]Login:[/b]<input type=\"password\" name=\"pw\" size=\"20\"><input type=\"submit\" name=\"submit\" value=\"Login\"></form>");
 
    if(md5($pw) == "11c1fbc072d4c56e51b88049845af052"){
      $_SESSION['password'] = md5($pw);
      echo("<script LANGUAGE=\"JavaScript\">top.location.href='index.php'</script>");
    }
  }

include_once("footer.php"); ?>
Ich finde den Fehler nicht ganz logisch. Oder ihr?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: [PHP] Datei schreiben

  Alt 12. Dez 2006, 00:12
Den Code tu ich mir heute Abend nicht mehr an, aber morgen dafuer. Ich weiss schon was das Problem ist, aber ich brauch momentan Schlaf

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: [PHP] Datei schreiben

  Alt 12. Dez 2006, 15:37
Moin,

mit Verlaub...das ist der wohl schrecklichste Code, den ich in den letzten Jahren gesehn hab.
Du weisst hoffentlich dass du sowas:
Code:
echo("<input type=\"text\" name=\"foo\" value=\"$foo\" />");
nicht machen musst, sondern auch das:
Code:
echo('<input type="text" name="foo" value="'. $foo .'" />');
oder sogar das:
Code:
>?
<input type="text" name="foo" value="<?php echo $foo ?>" />
<?php
schreiben kannst? Vor allem letzteres waere fuer deinen Code nicht schlecht.

Zitat von Chrissi91:
Ich bastel mir ja gerade ein kleines CMS für mich. Es wird z.B. die Datei "news.php" eingelesen und in ein Textfeld geladen. Dann kann ich den Programmiercode verändern und speichern. Aber es gibt ein Problem:
Guck mal ob bei deinem Server magic_quotes_gpc an ist. Ich geh mal von ja aus, aber ich dachte dass " nicht escaped wird.
Weiters, verwendest du $text direkt als autoglobal, oder setzt du das auch irgendwo? Wenn du jetzt sagst "ich weiss nicht was autoglobals sind, aber ich setz es nirgends", dann sag gleich "autoglobals" und du kriegst die Belehrung bezueglich register_globals.
Und bitte, wenn du das naechste Mal Code postest, bitte denk dran dass er von Leuten gelesen wird. Bei solchem Code wundern mich echt keine Bugs mehr...

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz