kostenloser Webspace werbefrei: lima-city


fwrite() und fclose()?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    <a href="index.php">zur?ck</a>
    <form method="post">
    ?ffne Datei mit dem Namen:<br>
    <input type="text" name="datei_name">.txt<br>
    <input type="submit" name="?ffnen" value="Datei ?ffnen"><br>
    </form>
    </body>
    </html>
    <?php
    $datei=$datei_name;
    
    if($_POST['?ffnen'])
    {
    echo 'Die Datei: "'.$datei.'" enth?lt den inhalt:<br><br>';
    $fp = fopen('txt/'.$datei.'.txt',"w");
    if ($fp)
    {
    while(!feof($fp))
    {
    $text = $text.fgets($fp);
    }
    fclose($fp);
    }
    echo $text;
    
    echo '<br><br><br>';
    echo 'diesen Inhalt ersetzen Mit:<br>';
    echo '<textarea name="inhalt" cols="15" rows="5"></textarea><br>';
    echo '<form method="POST"><input type="submit" name="speichern" value="Speichern">';
    }
    if($_POST['speichern'])
    {
    fwrite($fp,$inhalt);
    fclose($fp);
    }
    ?>
    </body>
    </html>

    so hab ich mir das also gedacht.
    Allerdings bekomm ich dabei fehlermeldungegn:

    Warning: fwrite(): supplied argument is not a valid stream resource in C:\Programme\Xampp\xampp\htdocs\projekte\inhalt.php on line 39

    Warning: fclose(): supplied argument is not a valid stream resource in C:\Programme\Xampp\xampp\htdocs\projekte\inhalt.php on line 40


    die Zeilen k?nnt ihr euch ja denken.
    Allerdings hab ichs bisher auch nicht anders gelesen.
    doch bei mir kommt da ne Fehlermeldeung.:slant:
    bitte um hilfe...
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. c*********c

    Der Fehler liegt am Zugriffsmodus:
    Der Modus "w" kann Dateien nicht lesen!
  4. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    compactdisc schrieb:
    Der Fehler liegt am Zugriffsmodus:
    Der Modus 'w' kann Dateien nicht lesen!

    oh...
    jetzt hab ichs aber mal mit "r+" probiert, und es kommt immer noch die selbe Fehlermeldung.
  5. schreib mal statt

    $datei=$datei_name;

    $datei="test";

    und statt 'w' (Schreibmodus)
    'a+' (Schreib-/Lesemodus mit Dateierstellung)

    entweder wurde 'datei_name' nicht korrekt ?bermittelt (zB register_globals = off)
    oder die Datei existiert gar nicht
    (dann wird sie durch den Schreibmodus 'a+' erstellt)

    MfG Asmodeus
  6. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    $datei_name wurde korrekt ?bermittelt.
    Da ich ja den bisherigen Inhalt sehe.

    doch erstellen will ich die datei ja nicht.

    r+
    gibt perfekt aus.
    a oder a+ setzen den zeiger ja ans ende der datei. und das will ihc ja wieder nicht.
  7. w+

    Nein, war nur Spa?!^^

    Du solltest deine Programmlogik trennen:

    if( irgendwas == '?ffnen' ) $mode = 'r';
    else $mode = 'w';

    $fh = fopen($datei, $mode);
    if($fh === FALSE) {
    print('Verdammte Schei?e!');
    exit();
    }

    // $blubb ist der Zwischenspeicher
    // f?r die Daten

    if($mode = ''r') {
    $blubb = @fgets($fh);
    }
    else {
    @fputs($fh, $blubb);
    }

    @fclose($fh);

    Beitrag ge?ndert am 14.10.2005 19:22 von alopex
  8. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    alopex schrieb:
    w+

    Nein, war nur Spa?!^^

    Du solltest deine Programmlogik trennen:

    if( irgendwas == '?ffnen' ) $mode = 'r';
    else $mode = 'w';

    $fh = fopen($datei, $mode);
    if($fh === FALSE) {
    print('Verdammte Schei?e!');
    exit();
    }

    // $blubb ist der Zwischenspeicher
    // f?r die Daten

    if($mode = ''r') {
    $blubb = @fgets($fh);
    }
    else {
    @fputs($fh, $blubb);
    }

    @fclose($fh);

    Beitrag ge?ndert am 14.10.2005 19:22 von alopex

    ok ok...
    bissle viel auf einmal^^

    den teil:

    if( irgendwas == '?ffnen' ) $mode = 'r';
    else $mode = 'w';

    $fh = fopen($datei, $mode);
    if($fh === FALSE) {
    print('Verdammte Schei?e!');
    exit();
    }

    kapier ich :wink:

    nur "if( irgendwas == '?ffnen' )" irgendwas? '?ffnen'?
    das mit "Verdammte schei?e" muss man ja kapiern xD

    und dann noch:

    if($fh === FALSE)

    sind die === beabsichtigt, oder sollns nur 2 sein?



  9. Die 3 Gleichheitszeichen sind beabsichtigt, so pr?ft man normalerweise, ob eine Variable oder ein Ausdruck einen booleschen Wert hat (TRUE oder FALSE). Das Teil hei?t Identit?tsoperator.


    if( irgendwas == '?ffnen' ) $mode = 'r';
    else $mode = 'w';

    Hier bedeutet "irgendwas" deine Ausgangsbedingung. Ich habe das lediglich verk?rzt. Du kannst wie urspr?nglich in deinem Script schreiben:

    if( $_POST['?ffnen'] ) $mode = 'r';
    else $mode = 'w';

    Obwohl ich isset() vorziehen w?rde:

    if( isset( $_POST['?ffnen'] ) ) $mode = 'r';
    else $mode = 'w';

    Und schlie?lich w?rde ich auf deutsche Umlaute verzichten, man wei? nie, ob die auch beim Server so ankommen:

    if( isset( $_POST['oeffnen'] ) ) $mode = 'r';
    else $mode = 'w';

    Das "Verdammte S...!" ist ein Zitat aus "Taxi" von Luc Besson:
    http://www.imdb.com/title/tt0152930/
    (Nur f?r den Fall, dass mir jemand F?kalsprache unterstellen w?llte ...^^)






  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!