Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Problem bei fputs:

  1. #1
    Meister(in)
    Registriert seit
    08.07.2006
    Beiträge
    288
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Problem bei fputs:

    Hi,
    ich habe ein kleines Problem bei dem Befehl fputs.
    Hier der Code:

    Code:
    <?php
       $text = $_POST&#91;"text"&#93;;
       $p = $_POST&#91;"path"&#93;;
       $size = filesize&#40;"$p"&#41;;
       
       
       $datei = fopen&#40;"$p","w"&#41;;
       fputs&#40;$datei,"$text",$size&#41;;
       fclose&#40;$datei&#41;;
    ?>
    Beim Aufruf wird folgende Fehlermeldung ausgebeben:

    Warning: fputs(): supplied argument is not a valid stream resource in datei.php on line 32

    Warning: fclose(): supplied argument is not a valid stream resource in datei.php on line 33

    Woran könnnte das liegen?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  2. #2
    Teeny
    Registriert seit
    27.07.2006
    Beiträge
    49
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi,
    ich bin mir da jetzt nicht 100%ig sicher aber ich vermute du hast im fopen nen Fehler drin, wundert mich nur, warum nicht die vorherrige Fehlermeldung kommt,.....

    $datei = fopen("$p","w"); => $datei = fopen($p,"w");


    vermutlich schafft php auf "$p" eine Ressource zu stellen, vermutlich NULL, daher kommt dann bei fputs eine Fehlermeldung.

    Grüße
    Methusalix

  3. #3
    Meister(in)
    Themenstarter

    Registriert seit
    08.07.2006
    Beiträge
    288
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Danke!

    Das war einer der Fehler, jetzt bekomme ich den ERROR des fputs()

    Parse error: parse error, unexpected ')' in datei.php on line 30

    Ich denke mal der erwartet eine Angabe, wieviel er überschreiben soll, aber wie kann ich denn nu angeben, dass er die ganze variabel $text schreiben soll, egal wie lang sie ist?
    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  4. #4
    Teeny
    Registriert seit
    27.07.2006
    Beiträge
    49
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    hmmm probier es mal damit:

    Code:
    <?php 
       $text = $_POST&#91;"text"&#93;; 
       $p = $_POST&#91;"path"&#93;; 
        
        
       $datei = fopen&#40;$p,"w+"&#41;; 
       fwrite&#40;$datei,$text&#41;; 
       fclose&#40;$datei&#41;; 
    ?>
    Code ist jetzt nicht getestet, sollte aber laufen

    Grüße Methusalix

  5. #5
    Meister(in)
    Themenstarter

    Registriert seit
    08.07.2006
    Beiträge
    288
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hmm...also ich bekomme immer den gleichen error wie zuvor!
    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  6. #6
    Meister(in)
    Registriert seit
    15.03.2006
    Beiträge
    316
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Probiers mal so:

    Code:
    <?php
    $filename = $_POST&#91;"path"&#93;;
    $somecontent = $_POST&#91;"text"&#93;;
    
    // Sichergehen, dass die Datei existiert und beschreibbar ist
    if &#40;is_writable&#40;$filename&#41;&#41; &#123;
    
       // Wir öffnen $filename im "Anhänge" - Modus.
       // Der Dateizeiger befindet sich am Ende der Datei, und
       // dort wird $somecontent später mit fwrite&#40;&#41; geschrieben.
       if &#40;!$handle = fopen&#40;$filename, "w+"&#41;&#41; &#123;
             print "Kann die Datei $filename nicht öffnen";
             exit;
       &#125;
    
       // Schreibe $somecontent in die geöffnete Datei.
       if &#40;!fwrite&#40;$handle, $somecontent&#41;&#41; &#123;
           print "Kann in die Datei $filename nicht schreiben";
           exit;
       &#125;
    
       print "Fertig, in Datei $filename wurde $somecontent geschrieben";
    
       fclose&#40;$handle&#41;;
    
    &#125; else &#123;
       print "Die Datei $filename ist nicht schreibbar";
    &#125;
    ?>

    Zu finden auf http://de.php.net/manual/de/function.fwrite.php
    Könnte dir auch helfen: http://www.schattenbaum.net/php/datei.php
    oder auch das http://de.php.net/manual/de/function.fopen.php

  7. #7
    Teeny
    Registriert seit
    27.07.2006
    Beiträge
    49
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    hallo,

    ich vermute mal du hast einen Apache unter einem Unix-System am laufen.
    Hat apache RW-Access? Lösch am besten mal die Datei und lass sie dann über w+ erstellen. Damit ist owner = apache. Und die Probleme sollten nicht mehr auftreten.

    grüße

  8. #8
    Meister(in)
    Themenstarter

    Registriert seit
    08.07.2006
    Beiträge
    288
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Danke Danke, ja es ist ein Linux System, aber ob das Apache ist weiß ich nicht. Der Anbieter heißt Plesk!

    Mal ne Frage zu dem Script:
    Wenn ich den Dateizeiger ans Ende setze, wird dann nicht der Inhalt an die Datei angehängt?
    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  9. #9
    Teeny
    Registriert seit
    27.07.2006
    Beiträge
    49
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Theoretisch ja,..., allerdings ist oben im Skript ein kleiner Beschreibungsfehler unterlaufen

    "w+" : read-write, Datei wird auf 0 Byte gesetzt, Zeiger auf Anfang und es wird versucht die Datei zu erstellen, wenn sie nicht existiert

    "a+" : read-write, Zeiger auf Ende, Datei wird versucht zu erstellen, wenn sie nicht existiert

  10. #10
    Meister(in)
    Themenstarter

    Registriert seit
    08.07.2006
    Beiträge
    288
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ahh...Thanks
    Ich probiers mal!
    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

Ähnliche Themen

  1. fputs(): supplied argument is not a valid stream resource ..
    Von 123kartoffelbrei im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 13.12.2007, 09:13

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •