Voor elke regel zijn eigen afhandeling maken, anders kan het even niet
<?PHP
$data = fgets($handle);
//en dan zelf
$tempdata = explode(',',$data);
if(count($tempdata) > 2) {
// voor eerste regel afhandelen, dus met komma's
} else {
$tempdata = explode(' ',$data);
}
?>
@Kasper: in dat geval zou ik file() gebruiken om de inhoud van de logfile uit te lezen. Dan komt elke regel direct al onder een nieuwe index in de betreffende array...
Oke ik ben het spoor even kwijt.........
Nu moet ik ook eerlijk zeggen dat ik een beginnenling ben maar goed.
ik had dit
<?php
include("connect.php");
error_reporting (E_ALL);
shell_exec('rm /opt/var/log/temperature');
shell_exec('digitemp_DS2490 -i -a -r 5000 -o "sensor%s,%H:%M:%S,%Y-%m-%d,%.2C" -l /opt/var/log/temperature');
$openfile = "/opt/var/log/temperature1";
$row = 0;
$handle = fopen ($openfile,"r");
while ($data = fgetcsv ($handle, 1000, ","))
{
if($row == '0')
{
$num = count ($data);
echo "$num velden in lijn nummer $row: \n";
echo "Dit hoort thuis in TABLE 1 \n\n";
for ($c=0; $c < $num; $c++)
{
echo $data[$c] . "\n";
}
$write = mysql_query("INSERT INTO $data[0] (tijd, datum, temp) VALUES('$data[1]', '$data[2]', '$data[3]')");
if (!$write)
{
die ('Kan niet in digitemp schrijven : ' . mysql_error());
}
$row = '1';
}
else
{
$num = count ($data);
echo "$num velden in lijn nummer $row: \n";
$row++;
echo "Dit hoort thuis in TABLE 2\n\n";
for ($c=0; $c < $num; $c++)
{
print $data[$c] . "\n";
}
$write = mysql_query("INSERT INTO $data[0] (tijd, datum, temp) VALUES('$data[1]', '$data[2]', '$data[3]')");
if (!$write)
{
die ('Kan niet in digitemp schrijven : ' . mysql_error());
}
}
}
fclose ($handle);
mysql_close($link);
?>
Dit werkte perfect
kreeg dit als output
4 velden in lijn nummer 0:
Dit hoort thuis in TABLE 1
sensor0
00:09:10
2008-05-25
17.50
4 velden in lijn nummer 1:
Dit hoort thuis in TABLE 2
sensor1
00:09:15
2008-05-25
21.63
Maar goed nu heb ik dus die teller erbij en nou gaat het voor me fout
Krijg dus nu dit:
4 velden in lijn nummer 0:
Dit hoort thuis in TABLE 1
sensor0
00:09:10
2008-05-25
17.50
4 velden in lijn nummer 1:
Dit hoort thuis in TABLE 2
sensor1
00:09:15
2008-05-25
21.63
1 velden in lijn nummer 2:
Dit hoort thuis in TABLE 2
May 25 00:09:16 Sensor 2 #0 3352
1 velden in lijn nummer 3:
Dit hoort thuis in TABLE 2
May 25 00:09:16 Sensor 2 #1 16605
Zoals jullie zien het onderste gedeelte wordt niet opgesplitst en kent het toe aan table 2
Is mijn script totaal verkeerd?
Zo ja help me out
Zo niet kan iemand het voor mij aanvullen?
Mijn dank zal zeer groot zijn ;-)