ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
1684
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Odomanie ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    Hallo zusammen

    ich habe einen recht simplen code, der eine txt-datei in einer textarea öffnen soll und per submit abspeichern sollte. die rechte der php sind mit Chmod 666 ausreichend.

    Leider bekomme ich mit meinem script die folgenden fehlermeldungen:

    Warning: fopen(http://www. [...]/test.txt) [function.fopen]: failed to open stream: HTTP wrapper does not support writeable connections in /www/.../test-txt-speichern.php on line 9

    Warning: fwrite() expects parameter 1 to be resource, boolean given in /www/.../test-txt-speichern.php on line 10

    Warning: fclose() expects parameter 1 to be resource, boolean given in /www/.../test-txt-speichern.php on line 11
    PHP-Code:

      <?
            
    if ($_POST) {
            
            
    $file fopen('http://www. [...]/test.txt''w'1);
            
    fwrite($file$_POST['textarea']);
            
    fclose($file);
            
    ?>
            <b><font color="#FF0000">Das Speichern war erfolgreich.</font></b>
            <textarea name="textarea2" cols="91" rows="50"><? include("http://www. [...]/test.txt");?></textarea>
            <?
            
    } else {
           
            
    ?>
            <form name="efb" method="post" action="http://www. [...]/test-txt-speichern.php">
            <textarea name="textarea" cols="91" rows="50"><? include("hhttp://www. [...]/test.txt");?></textarea>
            <br><input type="submit" name="Submit" value="Speichern"></form>
            <?
            
    }
    ?>
    Viele Grüße

    Odo
     

  2. #2
    Avatar von saftmeister
    saftmeister ist offline Nutze den Saft!
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    4.570
    Liegt die Datei auf dem gleichen Host, auf dem auch das PHP-Script ausgeführt wird?
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    Odomanie ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    ja, tut sie.
     

  4. #4
    Avatar von saftmeister
    saftmeister ist offline Nutze den Saft!
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    4.570
    Prima, dann lass das http:// und die Domain weg, und geb einen Pfad an, der relativ vom PHP-Script ist. Beispiel:

    Script liegt in http://www.test.de/php-scripts/schreiben.php
    Text-Datei liegt in http://www.test.de/text-files/datei.txt
    Pfad, der in fopen() verwendet werden sollte: ../text-files/datei.txt

    fopen() kann nicht schreibend auf URLs zugreifen - steht aber eigentlich auch schon in der Fehlermeldung
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #5
    Avatar von javaDeveloper2011
    javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    488
    Hi,

    noch was:
    beim 2. include lieber
    PHP-Code:
    if(file_exists("test.txt")) 
    voranstellen, oder gibt es die Dateien immer schon vorher?

    Dein Script soll ja beim Form-Submit selbst aufgerufen werden, also kannst du das
    HTML-Code:
    action="http://www. [...]/test-txt-speichern.php"
    getrost weglassen, wenn du die Datei nämlich mal umbenennst/verschiebst könnte es sonst unnötig Probleme geben.

    Gruß javaDeveloper2011
     

  6. #6
    Odomanie ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    Wunderbar. Jetzt hat es geklappt Danke!

    Allerdings werden jetzt beim speichern der txt-Datei "\" vor die " gesetzt, also der abgespeicherte code maskiert.

    wie könnte ich das verhindern?
     

  7. #7
    Avatar von saftmeister
    saftmeister ist offline Nutze den Saft!
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    4.570
    Dafür gibt es die Funktion stripslashes().
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  8. #8
    Odomanie ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    Danke für eure Hilfe!

    Aus meiner sicht muss ich nun folgendes schreiben. Die \ werden nun trotzdem hinzugefügt. Kann mir jemand erklären warum?

    PHP-Code:
    <?        if ($_POST) {
            
            
    $file fopen('pfad/test.txt''w'1);
            
    $_POST['textarea'] = stripslashes($_POST['textarea']);
            
    fwrite($file$_POST['textarea']);
            
    fclose($file);
            
    ?>
            <b><font color="#FF0000">Der Eintrag wurde erfolgreich geändert.</font></b><br>
            
            <form method="post" action="http://www.domain.de/test-txt-speichern.php">
            <textarea name="textarea" style="width:99%;" rows="15"><? include("http://www.domain.de/pfad/test.txt");?></textarea>
            <br><input type="submit" name="Submit" value="Speichern"></form>


            <?
            
    } else {
            
    ?>

            <form method="post" action="http://www.domain.de/test-txt-speichern.php">
            <textarea name="textarea" style="width:99%;" rows="15"><? include("http://www.domain.de/pfad/test.txt");?></textarea>
            <br><input type="submit" name="Submit" value="Speichern"></form>
            <?
            
    }
    ?>
    Viele Grüße

    Odo
     

  9. #9
    Avatar von saftmeister
    saftmeister ist offline Nutze den Saft!
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    4.570
    Guten Morgen.

    Versuch es mal so:

    Code php:
    1
    2
    3
    
            $file = fopen('pfad/test.txt', 'w', '1');
            fwrite($file, stripslashes( $_POST['textarea'] ) );
            fclose($file);
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  10. #10
    Odomanie ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    Jetzt funktioniert es. Dankeschön!
     

Ähnliche Themen

  1. Dokument öffnen, bearbeiten und speichern
    Von Christian030783 im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 02.03.12, 15:07
  2. Antworten: 1
    Letzter Beitrag: 05.11.08, 14:54
  3. Antworten: 7
    Letzter Beitrag: 07.02.08, 15:37
  4. Antworten: 2
    Letzter Beitrag: 07.12.07, 11:23