Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Code die .txt uitleest en op webpagina projecteert

Pagina: 1
Acties:
  • 1.960 views

  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
Ik heb hier een applicatie draaien waarmee ik de datasignalen van hulpdiensten en andere diensten kan decoderen. De semafoonsignalen worden door een ontvanger opgepikt. De ontvanger is door mij gemodificeerd en voorzien van een aftakking bij de FM-detector, waardoor datasignalen ongefilterd aan de computer kunnen worden aangeboden. Het signaal wordt aangeboden aan een zelfgebouwde 2-level FSK modem die is verbonden met de RS232 poort.

Voorheen zat er in het decodeerprogramma de functie om berichten als HTML te FTP'en naar een willekeurige server, maar om onduidelijke redenen is deze functie eruit gesloopt. Noodgedwongen zit ik daarom met een outdated stukje software. Momenteel heeft het stukje software een aantal interessante veranderingen gekregen, waardoor ik wil gaan upgraden. Maar dan mis ik de HTML functionaliteit.

Het is niet mijn intentie om gevoelige gegeven het WWW op te sturen, maar dit is voor privegebruik. De pagina is afgeschermd met een .htaccess / .htpasswd beveiliging.

Het stukje software kan de gedecodeerde gegevens opslaan als plain .txt bestand, de melding naar de commandline sturen en de meldingen emailen.

Anderen hebben een zéér omslachtige manier gevonden om de meldingen toch als webpagina te publiceren. Kort samengevat: een programmaatje via de commandline de melding sturen, dit programmaatje maakt verbinding met een ODBC achtig iets, dat maakt op zijn beurt weer contact met een SQL database die de melding in tabellen zet. De rest van het verhaal is verdwenen op het forum waar ik deze "oplossing" heb gelezen, maar de gegevens moeten ongetwijfeld weer uit de database worden gevist om op een webpagina te projecteren. Uit de reacties heb ik kunnen concluderen dat dit alles behalve vlekkeloos werkt. Veel foutmeldingen, hoge load en vastlopers zijn gemeldt.

Mijn idee: Dit moet véél simpeler kunnen.

Mijn webserver (Apache, PHP, MySQL, phpMyAdmin) draait op dezelfde bak als het decodeerprogramma. Ik kan de .txt logfile uit laten komen in de webroot.

Mijn idee:

Een stukje code (php/javascript/etc) leest de .txt file, interpreteert deze gegegevens en projecteert deze.

Elke melding staat op een regel.

De interpretatie moet het volgende omvatten:
Toevoeging van CSS voor de te projecteren tekst.
Meldingen van de brandweer (moet gefiltert worden op "brand") moeten in het rood.
Meldingen van de ambulance (moet gefiltert worden op "ambu") moeten in het geel.
De .txt file kan oneindig lang worden, deze moet gevuld worden tot 50 regels. Als er een nieuwe melding binnenkomt, moet de oudste verwijderd worden. (ook rekening houdend met de mogelijkheid dat er tegelijkertijd meerdere meldingen binnen kunnen komen, dus niet 3 erin en 1 eruit)

Is dit uberhaupt mogelijk of denk ik te simpel? Ik heb heel weinig programmeer of scriptkennis. Een simpele HTML pagina in Dreamweaver en een beetje tweaken aan CSS kan ik, maar daar houdt mijn kennis ook echt op..

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
F4T4L_3RR0R schreef op dinsdag 18 maart 2008 @ 03:29:
Is dit uberhaupt mogelijk of denk ik te simpel?
Met wat server-side scripting is dit prima mogelijk*. Maar wat heb je al geprobeerd? Want ...
F4T4L_3RR0R schreef op dinsdag 18 maart 2008 @ 03:29:
Ik heb heel weinig programmeer of scriptkennis. Een simpele HTML pagina in Dreamweaver en een beetje tweaken aan CSS kan ik, maar daar houdt mijn kennis ook echt op..
...dit leunt toch wel wat tegen Kan iemand even...? en/of een scriptrequest aan. Mijn advies: neem eens wat tutorials PHP ofzo door (gezien PHP al op je server staat) en verdiep je in de materie. Op het moment dat je tegen concrete vragen aan loopt helpen we je natuurlijk van harte. Zorg dan wel dat je ons van voldoende info voorziet en neem dan voordat je een topic opent even een kijkje in onze Programming Beleid Quickstart ;)

Daarbij past dit topic dan beter in PRG (omdat je server-side aan de slag zult moeten gaan).

*Er zijn wel wat client-side oplossingen te verzinnen, maar die zijn hier niet/minder voor de hand liggend

[ Voor 19% gewijzigd door RobIII op 18-03-2008 03:38 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
Bedankt voor de doorverwijzing naar het Programming forum!

Ik kan vertellen dat het niet alleen namens mij is, maar nog een stel andere hobbyisten zitten met de handen in het haar. Een mooie oplossing zal erg gewaardeerd worden.

Probleem is, ik weet niet waar te beginnen, vandaar mijn vraag of het uberhaupt mogelijk is. Dit is geen gemakzucht. Vergelijk het met het in een auto stappen en niet weten hoe je deze moet starten.

Verwijderd

Zoals RobIII al zei, pak een PHP-tutorial erbij om te weten te komen hoe je een simpele PHP-generated webpagina kan bouwen, en zoek vervolgens uit hoe je in PHP een file opent en gebruikt.

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
Ehm, Pak een willekeurige html pagina zet er een iframe in, hernoem semafoon.txt naar semafoon.htm (niet eens nodig!) zet die in het iframe en voila de gegevens!

Wel uber lelijk natuurlijk zonder opmaak e.d. maar het werkt volgens mij wel. (open maar is een random txt bestand in IE.

Afbeeldingslocatie: http://i29.tinypic.com/1r45lg.jpg

Zo kun je het even snel doen (wat voor prive gebruik misschien prima is). Anders inderdaad PHP gebruiken die kan wel van je webserver bestanden lezen dacht ik zo en dan vast iets mooiers er mee doen.

~ Mijn prog blog!


  • mcdronkz
  • Registratie: Oktober 2003
  • Laatst online: 16-04 12:44
PHP:
1
<?php echo file_get_contents("file.txt"); ?>


;)

  • LoBbY_1
  • Registratie: Juli 2002
  • Laatst online: 27-10 12:56
Wat mcdronkz zegt is inderdaad een snelle simpele oplossing! Als je er meer over wilt weten kan je natuurlijk altijd even hier kijken http://nl3.php.net/manual/nl/function.fread.php en hier http://nl3.php.net/manual/nl/function.readfile.php

[ Voor 15% gewijzigd door LoBbY_1 op 18-03-2008 09:43 ]

Een echte golver is nooit uitgeput


  • engelbertus
  • Registratie: April 2005
  • Laatst online: 12:33
er zijn misschien ook wel webbased teksteditortjes, die aan highlighting doen, dan heb je de tekst wel in een editor schermpje, maar wel met highlighting, zodat je de meldingen misschien een kleur kunt geven.

op zich is het natuurlijk mooier om het in een database te zetten. kan heel simpel volgens mij, als ( zoals het volgens mij is) altijd 50 regels zullen zijn.

je server heeft toch al MySQL.

het verwerken van een tekstfile is denk ik ook niet zo moeilijk. al denk ik nu wel even in een linuxomgeving. waar commandline bijna synoniem is aan scripting.

je kunt bijvoorbeeld elke regel in een bestand inlezen, kijken of er kleur aan moet en dan die regel inclusief css aan het eind van een andere file toevoegen, en er zijn daar zelfs programmas die de laatste regels van een (log)bestand laten zien op je scherm. het is dan wel geen html pagina, maar de uitvoer van dat programma kun je vast ook wel omleiden.

maar dta i s offtopic, omdat jij windows gebruikt neem ik aan?

  • LoBbY_1
  • Registratie: Juli 2002
  • Laatst online: 27-10 12:56
engelbertus schreef op dinsdag 18 maart 2008 @ 09:46:
Op zich is het natuurlijk mooier om het in een database te zetten. kan heel simpel volgens mij, als ( zoals het volgens mij is) altijd 50 regels zullen zijn.

je server heeft toch al MySQL.

het verwerken van een tekstfile is denk ik ook niet zo moeilijk. al denk ik nu wel even in een linuxomgeving. waar commandline bijna synoniem is aan scripting.

je kunt bijvoorbeeld elke regel in een bestand inlezen, kijken of er kleur aan moet en dan die regel inclusief css aan het eind van een andere file toevoegen, en er zijn daar zelfs programmas die de laatste regels van een (log)bestand laten zien op je scherm. het is dan wel geen html pagina, maar de uitvoer van dat programma kun je vast ook wel omleiden.

maar dta i s offtopic, omdat jij windows gebruikt neem ik aan?
Nee, het is niet offtopic omdat hij windows gebruikt :P In princiepe kan dat heel makkelijk gedaan worden in PHP zelf. Alleen denk ik dat dit net een stapje te veel is voor iemand die nog nooit geeft geschreven in PHP.
Door verschillende strings te replacen kan je heel simpel opmaak aan een plaintext opmaak toeveoegen. En simpele functies als nl2br() zorgen ervoor dat het ook nog lekker leesbaar blijft (ik weet niet direct hoe de text word getoond als je deze in het geheel inleest op bovenstaande mannier)

Een echte golver is nooit uitgeput


  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 12:26

Eijkb

Zo.

Als je programma een shell statement kan versturen kan je ook het volgende commando versturen:

mysql -u<usernaam> -p<pasword> <database> -e "<query>;"

Query is dan iets van "insert into meldingen melding = '$tekst'

Dat kan je weer met PHP makkelijk uitlezen.

De oplossingen hierboven zijn overigens een stuk eenvoudiger maar waar de hoge load vandaan komt bij de database oplossingen snap ik niet zo goed.

.


Verwijderd

Ik weet niet waarom iedereen opeens met database-oplossingen aan komt zetten, maar je kan gewoon met PHP je tekstbestand regel voor regel uitlezen, en per regel zoeken naar een van je keywords, en aan de hand daarvan de regel printen in een HTML-tag met een bepaalde class die door CSS opgemaakt wordt.

Als je een Unix-achtige server draait kan je simpelweg tail gebruiken in combinatie met popen. Dan hoef je je logfile niet qua regels te limiteren om 'm te gebruiken.

  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
Bedankt voor de reacties, ik weet nu ongeveer wat ik nodig heb en wat ik moet zoeken.

Aanvullende informatie:

De server draait Windows 2000.

De code moet om de 30 seconde de .txt file uitlezen. Bij het vullen van de .txt file door het decodeerprogramma zal deze niet gelijk vol zijn. Als de 50 regels bereikt zijn en bij het uitlezen 53 regels in de .txt file staan, dan moeten de onderste 3 regels gewist worden. Staan er 60 regels in de .txt file, dan moeten de onderste 10 regels verwijderen worden et cetera.

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
F4T4L_3RR0R schreef op dinsdag 18 maart 2008 @ 16:25:
De code moet om de 30 seconde de .txt file uitlezen. Bij het vullen van de .txt file door het decodeerprogramma zal deze niet gelijk vol zijn. Als de 50 regels bereikt zijn en bij het uitlezen 53 regels in de .txt file staan, dan moeten de onderste 3 regels gewist worden. Staan er 60 regels in de .txt file, dan moeten de onderste 10 regels verwijderen worden et cetera.
Dan lees je max 50 regels en cache je het resultaat en klaar is F4T4L_3RR0R.

{signature}


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
F4T4L_3RR0R schreef op dinsdag 18 maart 2008 @ 16:25:
De code moet om de 30 seconde de .txt file uitlezen. Bij het vullen van de .txt file door het decodeerprogramma zal deze niet gelijk vol zijn. Als de 50 regels bereikt zijn en bij het uitlezen 53 regels in de .txt file staan, dan moeten de onderste 3 regels gewist worden. Staan er 60 regels in de .txt file, dan moeten de onderste 10 regels verwijderen worden et cetera.
Heel mooi die beschrijving, maar je zult het toch écht zélf moeten devven ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
RobIII schreef op dinsdag 18 maart 2008 @ 16:44:
[...]

Heel mooi die beschrijving, maar je zult het toch écht zélf moeten devven ;)
LoBbY_1 schreef op dinsdag 18 maart 2008 @ 09:55:
Alleen denk ik dat dit net een stapje te veel is voor iemand die nog nooit geeft geschreven in PHP.
Kan iemand me op weg helpen? Wat moet ik leren, wat moet ik lezen, waar moet ik op zoeken? Dus niet alleen het printen van de .txt file, maar ook het highlightgebeuren en het .txt bestand op peil houden tot 50 regels.

Verwijderd

leer wat PHP, doorzoek eerst ff wat tutorials, schrijf zelf een paar test programma'tjes en kijk er dan nog eens naar zou ik zeggen, dan snap je het beter. En php.net geeft altijd een leuke function database welke functies je kan gaan gebruiken. Maar ik zou gewoon eerst beginnen met php, ben zeker dat je wel wat tutorials kan vinden.
Daarna in lezen op preg_replace en php's filehandelaren enzo.
regels maakt daarna niet meer uit, je zou in principe door kunnen gaan tot het oneindige als je een efficiënte code hebt geschreven.

  • ppx17
  • Registratie: December 2007
  • Laatst online: 24-10 20:23
str_replace voor het vervangen en strstr voor het zoeken lijken me 2 simpele functies om mee te beginnen.

Verder heb je fopen voor het openen / schrijven van bestanden, staan op die pagina wel links naar de rest van de benodigde functies. :)

-edit-
link fix.

[ Voor 8% gewijzigd door ppx17 op 18-03-2008 17:02 ]

40D | 8 | 50 | 100 | 300


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:22

MueR

Admin Devschuur® & Discord

is niet lief

Ga _EERST_ de basis van php leren, dan dit bouwen. Niet halfbakken scripts vol security holes neerdumpen.

[ Voor 6% gewijzigd door MueR op 18-03-2008 17:03 ]

Anyone who gets in between me and my morning coffee should be insecure.


  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
MueR schreef op dinsdag 18 maart 2008 @ 17:03:
Ga _EERST_ de basis van php leren, dan dit bouwen. Niet halfbakken scripts vol security holes neerdumpen.
Daar heb je een punt. Vandaar dat ik ook hier om advies vroeg.

Kan je een boek aanraden? Liefst in het Nederlands? Ik kan niet leren vanaf een monitor...

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:22

MueR

Admin Devschuur® & Discord

is niet lief

Anyone who gets in between me and my morning coffee should be insecure.


  • Peedy
  • Registratie: Februari 2002
  • Laatst online: 06-11-2024
Om er nog een eigen draai aan te geven:
PHP:
1
2
3
4
5
6
7
8
<?php
$tmp = file("file.txt"); 
$i=1;
foreach($tmp as $line) {
    echo "Regel ".$i. " - :".$line."<br />";
$i++;
}
?>


Met een simpele vorm van highlighting:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$tmp = file("file.txt"); 
foreach($tmp as $line) {
    if(strpos($line,"brandweer")!==false) {
        echo "<span class=\"roodKleurtje\">".$line."</span><br />";
    } elseif(strpos($line,"politie")!==false) {
        echo "<span class=\"blauwKleurtje\">".$line."</span><br />";
    } else {
        echo $line."<br />";
    }
}
?>

..bijvoorbeeld. Misschien met een regexp een date uitlezen en die formatten e.d.. Allemaal per regel mogelijk op deze manier. Wees creatief :P

Over je 50 regels uitlezen; draai de array $tmp om met rsort of desnoods usort, itereer met een for-loop tot 50 regels en klaar ben je.

@orf; lol, nooit geweten. Naja, lees dan ook nooit txt files o.i.d. per line uit, meer variabelen gefetched uit Snoopy.

[ Voor 61% gewijzigd door Peedy op 18-03-2008 17:32 ]


  • orf
  • Registratie: Augustus 2005
  • Laatst online: 12:49

orf

Peedy schreef op dinsdag 18 maart 2008 @ 17:23:
PHP:
1
2
3
4
<?php
$tmp = file_get_contents("file.txt"); 
$tmp = explode("\n",$tmp);
?>
Daar hebben ze file voor uitgevonden.

  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
Via een IRC kanaal ben ik in contact gekomen met een paar PHP-coders. We hebben samen stap voor stap de code vanuit het niets opgebouwd en telkens aangepast tot het geperfectioneerd was.

Ik heb nu een werkende applicatie/website en het was nog reuze leerzaam ook!

  • unclero
  • Registratie: Juni 2001
  • Laatst online: 04-11 09:49

unclero

MB EQA ftw \o/

Link? Ben eigenlijk wel benieuwd hoe het is geworden :D.

* unclero was vroegah ook luisteramateur, maar sinds invoering C2000 zendamateur geworden

Quelle chimère est-ce donc que l'homme? Quelle nouveauté, quel monstre, quel chaos, quel sujet de contradiction, quel prodige!


  • Peedy
  • Registratie: Februari 2002
  • Laatst online: 06-11-2024
@F4T4L_3RR0R: wat is dat IRC kanaal? Ik heb hier nog een paar projectjes liggen waar ik geen tijd voor heb >:) :P

  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
@unclero:
Dat ik jou hier tref zeg. :o Ik ben Remon, webmaster van www.radiohobby.nl. :)

Ik kan het eindresultaat niet laten zien, zit een htpasswd op. De code publiceer ik liever ook niet, voordat de maker van het decodeersoftware de mogelijkheden die ik nu benut eruit sloopt.

@Peedy:
Het is geen scriptkanaal op IRC, maar kwam per toeval iemand tegen met veel PHP skills. Ik wil het hem niet aandoen om iedereen naar hem door te verwijzen. ;)

  • siknu
  • Registratie: Februari 2004
  • Laatst online: 30-06 15:56
Misschien een screenshotje van het resultaat? We zijn nu wel benieuwd.

Als ze output via een tekstbestand of commandline toestaan nemen ze ook op de koop toe dat deze door scripts uitgelezen kunnen worden. Een tekstbestand uitlezen en daar wat functies op los te laten is nou niet echt rocketscience voor programmeurs. Als ze dat echt niet willen moeten ze dat er helemaal uithalen, dan heeft het programma al zijn nut verloren lijkt mij.

[ Voor 72% gewijzigd door siknu op 19-03-2008 16:38 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:34

Creepy

Tactical Espionage Splatterer

Eeh... dus je opent hier een topic voor je probleem en je wil niet de uiteindelijke oplossing hier posten? En dat wil je niet omdat je blijkbaar een soort van beveiliging omzeilt? Lekker dan, dat mag je voortaan zonder hulp hier uitzoeken. Beveiligingen zijn er niet voor niets en die gaan we echt niet voor je helpen omzeilen hier.
Het is geen scriptkanaal op IRC, maar kwam per toeval iemand tegen met veel PHP skills. Ik wil het hem niet aandoen om iedereen naar hem door te verwijzen
Gelukkig maar, het zou wat wezen als iedereen hier gaat posten "mail ff die en die, die lost het wel voor je op". Zo blijft het hier qua oplossing nogal leeg en stapelen de vragen zich zich gewoon op..... goed voor het community gevoel hier

[ Voor 54% gewijzigd door Creepy op 19-03-2008 16:42 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11:59

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.