php 7 auf RasPi, file_put_contents mit FILE_APPEND
bearbeitet von TSHello,
ich bin gerade sehr irritiert. Das kleine Skript schreibt Temperaturdaten in eine Datei.
~~~php
<?php
$text = file_get_contents('/sys/bus/w1/devices/28-011432fac57a/w1_slave');
$_data = explode(' ', $text);
$temp = substr(array_pop($_data), 2, 5); ### alternativ "..., 2)"
$out = date('Ymd h:i:s ') . $temp . PHP_EOL;
echo $out;
file_put_contents('/home/pi/Messungen/s1-temp.txt', $out, FILE_APPEND);
?>
~~~
Ich hatte zuerst vermutet, dass in der w1_slave bereits ein EOL stehen würde...
Leider wird in der Datei ein doppeltes 0x0A am Zeilenende eingefügt. Das lässt mich vermuten, dass file_put_contents() mit Flag FILE_APPEND bereits selbst ei 0x0A schreibt, also wieder den guten alten Textmodus benutzt. Das war mMn in PHP 6 nicht so.
Da aber auch LOCK_EX erwähnt wird in den Beispielen, wäre das unlogisch. Der gute alte Textmodus benötigte kein LOCK_EX, da das OS das bereits selbständig geregelt hat.
Ich habe leider im Moment nur das Tablet und den RasPi zum Testen.
Ist das ggf. ein Bug?
Glück Auf
Tom vom Berg
--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.