fputs, fclose - valid File-Handle
diplomsiedler
- php
0 Tobias K.0 diplomsiedler0 Auge
0 fastix0 diplomsiedler0 fastix0 diplomsiedler0 fastix0 diplomsiedler0 fastix
0 Tobias K.
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
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
$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
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
Hi...
Ja klar. Lies mal dazu das folgende:
http://selfphp.com/funktionsreferenz/dateisystem_funktionen/index.php
$template=implode("",file($importfile));
######################
$name = "testname";
$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)
$template = str_replace("[NAME]",$name,$str);
#Ersetze in $str "[NAME]" durch $name
$DateiNeu=$name."html";
$exportfile = fopen($DateiNeu , "w+" ) ;
#Die Datei wird zum schreiben geöffnet.
fputs($exportfile,$template) ;
#In die Datei wird der Inhalt geschrieben
fclose($exportfile) ;
###################
fastix
#########################################
######################
$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 geschriebenfclose($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
???
$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
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!!!
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
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
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
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