Hello,
Guten Morgen Tom,
habe das Script jetzt mal zusammengedängelt. Leider funktioniert es irgendwie nicht. Mache ich da was falsch. :-(
<?php
error_reporting(E_ALL); ## das kann zum Entwickeln ganz hilfreich sein!
function convert_file($source, $target)
$source = fopen($source, "rb");
$target = fopen($target,"wb");
$i=0;if ($source and $target)
{
while (false !== ($inputstr = fgets($source, 4096))
{
$inputstr = strtr($inputstr, ":", ",");
$inputstr = str_replace("<-", ",<-", $inputstr);
$inputstr = str_replace("S->", ",S->", $inputstr);
$inputstr = str_replace("<S", "S", $inputstr);
$inputstr = str_replace("<M", "M", $inputstr);
$inputstr = str_replace(" SP", ",SP", $inputstr);
$inputstr = str_replace(" TCP", ",TCP", $inputstr);
$inputstr = str_replace(">", "", $inputstr);
$ergebnis = trim ($inputstr);
$zerlegen = explode(",", $ergebnis);
$zeile=implode(',',$zerlegen)."\n";
## fputs($target,$zeile); ## das war doppelt
$i++;
fputs($target, $zeile);
echo ".";
}
} ## Klammer hat gefehlt
else
{
fclose($source); ## besser ist's, [ ... ]
fclose($target); ## vor dem Abbrechen Files schließen
return false;
}echo "fertig! von $source wurden $i Zeilen bearbeitet<br>";
fclose($source);
fclose($target);return true;
}$_filenames = glob('G:/xampp/htdocs/Kartonwege/Daten_Source/*.txt');
if (is_array($_filenames)) ## es würde auch reichen "if ($filenames)", aber das ist schmuddleig
{
foreach($_filenames as $source)
{
$target = $source.'.csv'; ## Zieldatei heitß dann z.B. 'T20090603.telegram.csv'
$ready = convert_file($source, $target);if ($ready)
{
echo "$source wurde fehlerfrei konvertiert<br>";
}
else
{
echo "<p>$source konnte nicht fehlerfrei konvertiert werden!</p>";
}
}
}?>
>
> ----------------------------------------------------------------------
>
> Ich habe noch nie mit declaration von Funktionen gearbeitet.
Sonst entdecke ich jetzt nichts mehr.
Nimm das Error\_Reporting(E\_ALL) mit rein.
Und wenn Du Fehlermeldungen bekommst, dann poste die auf jeden Fall vollständig. Das vereinfacht ungemein die Hilfestellung.
In dieses Verzeichnis muss der Apache (PHP) auch schreiben dürfen!
G:/xampp/htdocs/Kartonwege/Daten\_Source/
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

--
Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>