swienty1
15.09.2004, 14:49:39
Mam pytanie czy istnieje jakaś funkcja w php dzieki której mozna odwoływac się do konkretnych portów LPT. Chodzi mi o funkcje typu "send" która jest w C++
bela
15.09.2004, 15:21:16
przecież php działa po stronie serwera, może z pomocą phpgtk można to zrobić, ale nie wiem, doczytaj
prędzej za pomocą js
swienty1
15.09.2004, 16:31:11
Ja wiem że po stronie serwera

Chodzi mi o sterowanie zdalnie portu LPT przez www, przy pomocy php. JS przy tym mi nie pomoze bo ona dziala po stronie klienta, a mnie chodzi o to żeby wysyłać rozkazy na port LPT serwera.
Dabroz
15.09.2004, 16:46:02
bela
15.09.2004, 18:53:07
Cytat(swienty1 @ 2004-09-15 17:31:11)
Ja wiem że po stronie serwera

Chodzi mi o sterowanie zdalnie portu LPT przez www, przy pomocy php. JS przy tym mi nie pomoze bo ona dziala po stronie klienta, a mnie chodzi o to żeby wysyłać rozkazy na port LPT serwera.
a to sorry :]
[edit]
funkcje printer działają tylko na winach
w manual znalazłem:
Cytat
system("lp $filename")
Cytat
If you want to address the printer from your php-application in a Un*x environment:
This is possible if you use a different method.
In Unix it would not be logical to address your printer directly from php, but you could for instance generate a PDF-file with PDFlib (or a textfile, or a PNG/JPEG image with GD or what have you) and write it from your php-script to a directory that you use as a "printer-outbox."
Next, you write a shellscript that calls some unix tool to print all pdf or other documents in your "outbox" directory and then deletes all files in that directory.
Then you use crontab to run this script every minute or as often as you think it's neccessary.
You could of course also call the shellscript from your php-application with exec() but you'll probably want to avoid using exec() and the like for security reasons.
swienty1
15.09.2004, 19:21:42
fsockopen - ta funkcja jest do portow "zewnetrznych", www, ftp ...
ref.printer - ta czysto do drukarki, co akurat mi nie jest potrzebne

ref.exec - no w sumie ta do wszystkiego, jezeli ma sie zwenetrzny program.
Mnie konkretnie chodzi o to czy jest funkcja typu (taka jest w c++)
Kod
void outportb(ADRES, BITY)
gdzie ADRES to np: 0x378, czyli adres LPT1. Moje pytanie czy w php da sie cos takiego zrobic? Czy musze zewnetrzne programu uzyc, albo CGI pisane w C++
bela
15.09.2004, 19:48:50
a może warto byłoby przez fsockopen połączyć się z serwerem druku (cups etc.)?
swienty1
15.09.2004, 22:16:23
Kurcze trzeba to bylo powiedziec na wstępie. Mnie chodzi o to żeby port drukarki użyć jako portu do sterowania silniczkami( a nie drukowanie), które wprawiaja w ruch moja kamerke internetowa. Jest to dosc proste w c++, ale bylem ciekaw czy da sie to zrobic w php. Czy da sie sterowac portami wejscia-wyjscia komputera?
bela
15.09.2004, 22:19:52
jeżeli jest to proste w c++, to czemu nie napiszesz tego w nim, a w php zrobisz tylko interfejs przez www ?
swienty1
16.09.2004, 00:09:22
W c++ nie chce tego robic poniewaz:
-wymaga to f-cji exec
Kod
You could of course also call the shellscript from your php-application with exec() but you'll probably want to avoid using exec() and the like for security reasons.
-musialbym miec kilka programow, do kazdego silnika.
-no a gdyby taka funkca istniala w php to ułatwiłoby mi to o wiele prace, ale też tak myślałem ze w php tego nie zrobie, jakby nie patrzec nie jest to język do tego typu zadan

Dziękuję bela_666 za dyskusje i pozdrawiam.
bela
16.09.2004, 07:15:43
a może utworzyć gniazdo i przez będziesz się łączył?
swienty1
16.09.2004, 12:46:52
Tzn?? Jakiego typu gniazdo, można prosic jasniej??
bela
16.09.2004, 13:36:12
no socket(gniazdo) do którego bedziesz się łączył przez fsockopen()
swienty1
16.09.2004, 17:45:08
A o to chodziło. Tą funkcje juz przerabialem. fsockopen mi sie nie przyda bo ona otwiera tylko zewnetrzne porty TCI/IP. Mnie chodzi o wewnętzne adresy magistrali komputera, konkretnie o adresy LPT np: 0x378h, a nie np 80 czy 32, czy www.cos_tam.com. Czy jest funkscaj typu np: "outprotb" z c++



!!
rogrog
16.09.2004, 18:52:17
myślę że nie ma takiej funkcji, i w mojej opinii nawet nie powinno być
php powstał jako język do programowania skryptowego, na potrzeby stron internetowych. Trudno wymagać, aby twórcy umożliwiali dostęp do portów LPT serwera.
Natomiast można rozszerzyć php na własną rękę. Zmienić kod źródłowy w C

Polecam rozdział VI. (dawniej V.) manuala:
Zend API
hondziarz
23.11.2004, 01:34:52
hmm a nie mozna by napisac programu do obslugi silniczkow w c++ ktory z kolei poprzez port tcp/ip i fsockopen komunikowal by sie z aplikacja napisana w php ?

moze to mial bela_666 na mysli ?
pozdrawiam
hondziarz
bela
23.11.2004, 13:20:18
o to mi chodzilo ale swienty pisze ze nie chce uzywac exec
hondziarz
23.11.2004, 17:44:10
Cytat(bela_666 @ 2004-11-23 12:20:18)
o to mi chodzilo ale swienty pisze ze nie chce uzywac exec
nierozumiem, ale po co exec, program w c moglby dzialac jako demon, nasluchujacy na danym porcie tcp/ip, a skrypt php po uruchomieniu poprostu by sie z tym portem laczyl, i w ktorym miejscu uzywamy tu exec ?
bela
23.11.2004, 18:21:18
załatw mi to na darmowym koncie na onecie to pogadamy
ActivePlayer
23.11.2004, 21:23:29
Nie wiem czy wniose cos do tematu ale jak scanner pobierał przez php dane z portu klawiatury to z LPT tez chyba mozna... mowa byla o ciągach czy jakos tak...
rogrog
23.11.2004, 21:45:30
Cytat(bela_666 @ 2004-11-23 19:21:18)
załatw mi to na darmowym koncie na onecie to pogadamy

darmowe konto na onecie nie ma nawet php
a takich rzeczy raczej się nie robi na darmowym koncie
bela
23.11.2004, 22:56:29
jasne ze sie nie robi ale jak gosciu mowi ze lepiej odpalic daemon do ktorego trzeba miec shella to cos nie tak
akubiczek
23.11.2004, 23:07:20
Przecież on chce sterować SWOJĄ kamerą internetową, więc serwer też zapewne jest jego. Zapewne ma kamerkę i chciałby przez WWW móc oglądać dookoła co się dzieje u niego w domu/serwerowni/whatever, a nie tylko patrzeć w jedno miejsce, w które akurat kamera będzie ustawiona.
kwedo
24.11.2004, 18:14:03
na jakim systemie masz serwer ?
hondziarz
24.11.2004, 18:27:16
Cytat(bela_666 @ 2004-11-23 21:56:29)
jasne ze sie nie robi ale jak gosciu mowi ze lepiej odpalic daemon do ktorego trzeba miec shella to cos nie tak

a podlaczales kiedys cos fizycznie do onetowego serwera ? ...gosciu ?

przeciez ciagle mowa o czyims prywatnym komputerze...
pozdr
hondziarz
bela
24.11.2004, 19:20:00
jak mowa o prywatnym serwerze to czemu swienty pisze ze nie chce execa puszczac
halfik
25.11.2004, 08:30:55
no chyba dlatego ze mial nadzieje znalezc gotowa juz funkcje w phpie i ja wykozystac. ale fakt faktem php nie do tego przeznaczony i niech tak pozostanie. ja tez jestem za napisaniem progsa w c/c++ i wykonywaniu go przez exec.
NoiseMc
25.11.2004, 12:39:53
Nie wiem czy o to ci chodzi ale jesli chcesz podlaczyc sie do portu po stronie klienta to moze napisz jakas kontrolke activeX (jak na przyklad skaner.mks.pl), ktora umiescisz na stronie a php-em tylko podawaj parametry
Paul
25.11.2004, 22:54:34
Cytat(ActivePlayer @ 2004-11-23 21:23:29)
Nie wiem czy wniose cos do tematu ale jak scanner pobierał przez php dane z portu klawiatury to z LPT tez chyba mozna... mowa byla o ciągach czy jakos tak...
Scanner pobieral dane z
standardowego wejscia, a nie bezposrednio z portu.
scanner
26.11.2004, 07:37:53
Co zreszta i tak mi się nie udało. Pozostałem na poziomie JS i moj pakiet działa wyśmienicie, za co zreszta ponownie dziękuję Paulowi
netzah
26.11.2004, 08:47:36
Pomysl z socketem jest OK. Mozesz tez sprobowac napisac sterownik jako serwer COM i dzieki temu bedziesz miec dostep do funkcji c++
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.