Der Martin: PHP-Datei im Hintergrund ausführen bei Klick

Beitrag lesen

Hi,

<?php

file_put_contents('test.txt',file_get_contents('test.txt')*1+1, LOCK_EX);
header("HTTP/1.0 204 No Content");
?>


>   
> Obwohl die Seite, die dieses Script per Link aufruft, in UTF-8 ist die erzeugte Textdatei Ansi.  
  
zunächst: Was verstehst du unter ANSI? Aus dem Zusammenhang schließe ich, dass du irgendeine von UTF-8 abweichende Codierung meinst, also etwa ISO-8859-x bzw. Windows-1252. Und die Codierung dieser Scriptdatei hat natürlich nichts mit dem Dateiinhalt zu tun.  
Der Ausdruck `file_get_contents(...)*1+1`{:.language-php} schreit übrigens nach einem erklärenden Kommentar. Du willst den Dateiinhalt lesen, als Zahl interpretieren und um eins erhöhen? - Meinetwegen. Allerdings schreibst du dann natürlich auch wieder eine Zahl in die Zieldatei zurück. Zahlen bestehen aus Ziffern, eventuell einem Dezimalpunkt und einem Minuszeichen; sehr große oder sehr kleine Zahlen haben vielleicht noch ein 'E' (wie 2.47704E+11). Aber das sind alles ASCII-Zeichen, wo die Frage nach der Codierung noch gar keinen Sinn macht, weil die in Frage kommenden Codierungen (ASCII, ISO-8859-1, ISO-8859-15, Windows-1252, ...) für diese Zeichen alle identisch sind.  
  

> ~~~php

<?php  

> file_put_contents('test.txt',utf8_encode(file_get_contents('test.txt')*1+1), LOCK_EX);  
> header("HTTP/1.0 204 No Content");  
> ?>

Immer noch Ansi.

Was immer das sein mag. Anyway, du meinst "immer noch unverändert". Ja klar, siehe oben. An ein paar Ziffern kannst du keine Zeichencodierung ablesen.

<?php

header ('Content-Type: text/html; charset=UTF-8');
file_put_contents('test.txt',utf8_encode(file_get_contents('test.txt')*1+1), LOCK_EX);
header("HTTP/1.0 204 No Content");
?>

  
Das ergibt keinen Sinn: Dem Client teilst du mit, dass die Antwort eine in UTF-8 codierte HTML-Ressource sei, gleichzeitg sagst du ihm aber, es gibt keine Antwort.  
  

> Ebenfalls noch Ansi, woran liegt das?  
  
Möglicherweise an einem generellen Missverständnis deinerseits, was Zeichencodierungen angeht. Ich werde aber nicht so recht schlau draus und weiß nicht, wo ich mit einer korrigierenden Erklärung ansetzen muss.  
  
Ciao,  
 Martin  

-- 
[Mir geht es gut.](http://www.baetzler.de/humor/30_tage_schnee.html) Ich mag die kleinen Pillen, die sie mir dauernd geben.  
Aber warum bin ich ans Bett gefesselt?  
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(