[PHP] Newline teken voor `net send

Pagina: 1
Acties:

Onderwerpen


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Voor een projectje die ik lokaal ga draaien ben ik bezig met een error-log meganisme.
Hierbij heb je 2 niveau's van foutmeldingen die allemaal moeten worden gelogd;
1- Kritieke fouten
2- Notices

Beide worden in een databaseje opgeslagen. Maar nu wil ik dan wanneer er een fout met code 1 zich voordoet ik hiervan een 'net send'-je krijg, zodat ik dit direct weet zodra ik achter mijn pc ga zitten
Nu is dat niet zo boeiend;
<?php
exec("net send localhost $error");
?>

Maar om het een beetje duidelijk te formateren, wil ook meerdere regels kunnen gebruiken. Ik weet dat dit kan want ik ken programmatjes die dit doen, maar ik krijg het met geen mogelijkheid voor elkaar.

weet iemand wat je moet doen om een nieuwe regel te krijgen?

Dingen die ik al heb geprobeerd zijn
- \n
- \r\n
- chr(10)
- chr(13)
- chr(10).chr(13)
Dit zijn de enige vormen van linebreaks die ik heb kunnen vinden en me logisch genoeg leken om te prberen, maar die zijn het dus niet...

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

"add slashes"

[ Voor 14% gewijzigd door dusty op 28-08-2003 00:30 ]

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
\r\n zou moeten werken.

Wanneer je de error message in een browser laat zien zet er dan <pre> </pre> tags omheen .

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 04-08 16:29

Tim

Zover ik weet kan dit via de command line helemaal niet.

Nou heb ik het vermoeden dat het net send 'protocol' niet echt geweldig moeilijk zal zijn :)

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Daarmee bedoel je dat ik zelf een socket-verbinding moet schrijven om hier berichtjes over te pompen naar de Messenger-service? :s

Voor de reply's erboven.. het is dus niet de bedoeling om de error te outputten naar de browser.. maar om deze te ontvangen via Messenger (typ op de command prompt; net send localhost Dit is Messenger.)

Voor zover ik weet is het op de command line idd onmogelijk. Maar vanuit PHP heb je iets meer opties als op de command line, zoals hex en ascii-waardes...

Acties:
  • 0 Henk 'm!

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 04-08 16:29

Tim

In PHP heb je vast meer opties dan de command line van windows, maar exec gebruikt ook gewoon die command line. Dus die heeft ook de limitaties daarvan.

Misschien dat je een extern programaa'tje kan vinden dat vanaf de CLI een berichtje met meerdere regels kan sturen. (Eventueel zelf schrijven, Windows heeft daarvoor vast een mooie API call)

Acties:
  • 0 Henk 'm!

  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

[google=net send line break]

Eerste hit: http://www.jsiinc.com/SUBM/tip6200/rh6240.htm

Summary: linebreak == control-T

Werkt goed [edit], ook vanaf de commandline[/edit] :)

[ Voor 20% gewijzigd door Rataplan op 30-08-2003 14:37 ]


Journalism is printing what someone else does not want printed; everything else is public relations.


Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Werkt dit niet?:

PHP:
1
2
3
<?php
exec("net send blaat\\r\\n nieuwe regel");
?>


Dus niet \n gebruiken maar \\n (zodat op de commandline \n terechtkomt en dat als enter wordt gezien?)

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

MisterData schreef op 30 augustus 2003 @ 20:06:
Werkt dit niet?:

PHP:
1
2
3
<?php
exec("net send blaat\\r\\n nieuwe regel");
?>


Dus niet \n gebruiken maar \\n (zodat op de commandline \n terechtkomt en dat als enter wordt gezien?)
Heb je het wel eens geprobeerd?
code:
1
net send localhost "a\nb"
:?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Rataplan schreef op 30 August 2003 @ 14:34:
[google=ClicksCollector_User]

Eerste hit: http://www.jsiinc.com/SUBM/tip6200/rh6240.htm

Summary: linebreak == control-T

Werkt goed [edit], ook vanaf de commandline[/edit] :)
WTF?! Waarom vind jij dat wel?

Er wordt gezegd dat je CTRL+T kan gebruiken of ALT+2+0.
Aangezien ik niet weet hoe je PHP uitlegd CTRL+T te gebruiken, probeer ik het tweede.
ALT+2+0 is een hexadecimale 14, volgens die site. Maar het volgende wil toch niet werken;
PHP:
1
exec("net send localhost Nieuwe " . chr(14) . " Regel");

Aangezien ALT+20 in mijn oren lhex(20) zou moeten voorstellen, heb ik dat ook maar even geprobeerd;
PHP:
1
exec("net send localhost Nieuwe " . chr(20) . " Regel");

En dat werkt perfect :)
Nu nog even zoeken naar de tab en ik ben weer helemaal blij.
Thanks voor t meedenken.
Pagina: 1