diplomsiedler: fputs, fclose - valid File-Handle

Hi...

bei mir läuft folgendes kleines script nicht:

<?php
   $name = "testname";

// template oeffnen
  $importfile="template.html";
  $template=implode("",file($importfile));
  $template = str_replace("[NAME]","$name",$template);

// datei wegschreiben
  $datei = fopen("$name.html" , "w+" ) ;
  fputs($name.html,$template) ;
  fclose($name.html) ;

?>

Es soll eine Datei testname.html erstellt werden. In die Datei soll über eine Template-Vorlage etwas geschrieben werden.

Ergebnis: Datei wird ohne Inhalt erstellt.
Fehlermeldung: Warning: Supplied argument is not a valid File-Handle resource in ....

Wer kann helfen?

Gruß,
diplomsiedler

  1. Hallo diplomsiedler,

    $datei = fopen("$name.html" , "w+" ) ;
      fputs($name.html,$template) ;

    '$name.html' ist kein gültiger handle da sollte eher '$datei' stehen
    ->http://www.php.net/fputs

    fclose($name.html) ;

    hier auch '$datei'

    Es soll eine Datei testname.html erstellt werden.

    entsprechende Rechte sind gesetzt?

    Fehlermeldung: Warning: Supplied argument is not a valid File-Handle resource in ....

    in was? welche Zeile? (bzw. welche Zeile ist es in dem geposteten Codeabschnitt?)

    Grüße aus Nürnberg
    Tobias

    --
    sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    (Selfcode -> http://emmanuel.dammerer.at/selfcode.html)
    1. $datei = fopen("$name.html" , "w+" ) ;
        fputs($name.html,$template) ;
      '$name.html' ist kein gültiger handle da sollte eher '$datei' stehen

      fclose($name.html) ;
      hier auch '$datei'

      in was? welche Zeile? (bzw. welche Zeile ist es in dem geposteten Codeabschnitt?)

      habe ich ausgetauscht.
      leere datei wird erstellt.
      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\generator\test.php on line 11

      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\generator\test.php on line 12

      Zeile 11 fputs($datei.html,$template) ;

      Zeiel 12 fclose($datei.html) ;

      Marc

      1. Hallo

        ($datei.html,$template) ;

        Das geht so nicht. Du hast die Datei "$name.html" geöffnet
        mit einem Filehandler namens "$datei". ...Na, klickert's?

        Tschö, Auge

  2. Hi...

    Ja klar. Lies mal dazu das folgende:

    http://selfphp.com/funktionsreferenz/dateisystem_funktionen/index.php

    $template=implode("",file($importfile));

    brauchst Du gar nicht.

    ######################

    $name = "testname";

    template oeffnen

    $importfile = fopen("template.html" , "r" );
    #Die Datei wird zum lesen geöffnet.

    $str = fread ($importfile);
    #Jetzt steht der Inhalt von template.html in $str.

    fclose($importfile)

    und geschlossen

    Übrigens :) hier die Datenbankabfrage und das while ...{ Siehe #weiter unten

    $template = str_replace("[NAME]",$name,$str);
    #Ersetze in $str "[NAME]" durch $name

    $DateiNeu=$name."html";

    klar...

    $exportfile = fopen($DateiNeu , "w+" ) ;
    #Die Datei wird zum schreiben geöffnet.

    fputs($exportfile,$template) ;
    #In die Datei wird der Inhalt geschrieben

    fclose($exportfile) ;

    und geschlossen

    Hier dann das }

    ###################

    fastix

    #########################################

    1. ######################

      $name = "testname";

      template oeffnen

      $importfile = fopen("template.html" , "r" );
      #Die Datei wird zum lesen geöffnet.

      $str = fread ($importfile);
      #Jetzt steht der Inhalt von template.html in $str.

      fclose($importfile);

      und geschlossen

      Übrigens :) hier die Datenbankabfrage und das while ...{ Siehe #weiter unten

      $template = str_replace("[NAME]",$name,$str);
      #Ersetze in $str "[NAME]" durch $name

      $DateiNeu=$name."html";

      klar...

      $exportfile = fopen($DateiNeu , "w+" ) ;
      #Die Datei wird zum schreiben geöffnet.

      fputs($exportfile,$template) ;
      #In die Datei wird der Inhalt geschrieben

      fclose($exportfile) ;

      und geschlossen

      Hier dann das }

      Das klingt alles supi, doch nun erhalte ich:

      Warning: Wrong parameter count for fread() in /home/www/web20/html/test/test.php on line 12

      ???

      1. $str = fread($importfile, filesize ("template.html"));
        #Variable=dateiInhalt(Dateihandler, Länge)
        #Länge kann aus filesize("Dateiname") bestimmt werden.

        #Jetzt sollte das gehen...

        Warum hast Du nicht in die Dokumentation geschaut? Weils so bequem ist, hier zu fragen?

        fastix

        1. Warum hast Du nicht in die Dokumentation geschaut? Weils so bequem ist, hier zu fragen?

          fastix

          weil ich zu blöd bin dafür. ES FUNZT !!!ich DANKE Dir!!!

          1. weil ich zu blöd bin dafür. ES FUNZT !!!ich DANKE Dir!!!

            Das kostet Dich bei Gelegenheit einige Bierchen oder eine Empfehlung an den Chef, mich bei der Herausreichung oppulenter Aufträge zu berücksichtigen...

            fastix

            1. Na klar. Das script funzt nun mit Auslese der Datenbank. Zus. habe ich die Leerzeichen in Namen für den Dateinamen noch mit "_" ersetzt. Wer das fertige script braucht, schreibt ne' Mail.

              Vielen Dank und Gruß,

              diplomsiedler

              1. Na klar. Das script funzt nun mit Auslese der Datenbank. Zus. habe ich die Leerzeichen in Namen für den Dateinamen noch mit "_" ersetzt. Wer das fertige script braucht, schreibt ne' Mail.

                Na Klasse!

                Jetzt wo ich es Dir fast komplett geschrieben habe willst Du es verkaufen...

                :)

                fastix

      2. Hallo diplomsiedler,

        $str = fread ($importfile);
        Warning: Wrong parameter count for fread() in /home/www/web20/html/test/test.php on line 12

        ist doch klar, du hast die Falsche anzahl von Parametern (es fehlt noch 'int lenght') -> http://www.php.net/fread

        Grüße aus Nürnberg
        Tobias

        ps: http://learn.to/quote

        --
        sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        (Selfcode -> http://emmanuel.dammerer.at/selfcode.html)